.wk-fan-console{--fc-red:#b50d20;--fc-metal:#b9b8bb;position:relative;margin:34px auto 52px;padding:clamp(20px,3vw,34px);color:#f5f4f2;border:1px solid #817b78;border-radius:22px;background:radial-gradient(ellipse at 50% -20%,rgba(255,255,255,.17),transparent 47%),linear-gradient(145deg,#29292c 0%,#111113 38%,#050506 100%);box-shadow:inset 0 2px 2px rgba(255,255,255,.22),inset 0 -14px 24px rgba(0,0,0,.7),0 20px 50px rgba(0,0,0,.66),0 0 0 4px rgba(172,154,133,.09),0 0 24px rgba(160,12,28,.13);isolation:isolate}
.wk-fan-console:before{content:"";position:absolute;inset:7px;border:1px solid rgba(237,221,196,.16);border-radius:16px;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.wk-fan-head{position:relative;display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 20px}.wk-fan-kicker{margin:0 0 6px;color:#d7b98e;font-size:11px;font-weight:900;letter-spacing:.19em;text-transform:uppercase}.wk-fan-head h2{margin:0;color:#f6e5ca;font-family:Georgia,serif;font-size:clamp(25px,3vw,38px);text-shadow:0 2px 1px #000,0 0 18px rgba(201,22,37,.28)}.wk-fan-head p{max-width:420px;margin:7px 0 0;color:#c6c1bc;line-height:1.5}.wk-fan-archive-link{flex:none;color:#f4d9af;text-decoration:none;border:1px solid #685947;padding:10px 14px;border-radius:999px;background:linear-gradient(#313033,#111);box-shadow:inset 0 1px 0 #ffffff38,0 5px 12px #0009;font-weight:800}.wk-fan-archive-link:hover{border-color:#d3b179;transform:translateY(-1px)}
.wk-fan-form{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:15px}.wk-fan-field{display:grid;gap:7px;min-width:0}.wk-fan-field label,.wk-fan-label{color:#e7ddd0;font-size:13px;font-weight:800;letter-spacing:.025em}.wk-fan-field input,.wk-fan-field textarea{box-sizing:border-box;width:100%;border:1px solid #666166;border-radius:10px;padding:12px 14px;color:#fff;background:linear-gradient(155deg,#09090a,#222124);box-shadow:inset 0 4px 9px #000b,inset 0 1px 0 #ffffff14,0 1px 0 #ffffff0c;font:inherit;outline:none}.wk-fan-field input:focus,.wk-fan-field textarea:focus{border-color:#be9c71;box-shadow:inset 0 4px 9px #000b,0 0 0 3px #bd182c45}.wk-fan-message{grid-column:1/-1}.wk-fan-message-wrap{position:relative}.wk-fan-field textarea{min-height:122px;resize:vertical;padding-right:56px;line-height:1.55}.wk-fan-emoji-toggle{position:absolute;right:9px;top:9px;width:39px;height:39px;padding:0;border:1px solid #c4a678;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 22%,#fff8cf,#dcae56 38%,#70440f 78%,#17100a);box-shadow:inset 0 2px 2px #fff9, inset 0 -4px 5px #351b0c,0 4px 8px #000b;color:#211509;cursor:pointer}.wk-fan-emoji-toggle svg{width:25px;height:25px;filter:drop-shadow(0 1px 1px #fff8)}.wk-fan-emoji-panel{position:absolute;z-index:10;right:0;top:52px;width:min(306px,calc(100vw - 54px));padding:12px;border:1px solid #b79b73;border-radius:14px;background:linear-gradient(145deg,#333236,#101012);box-shadow:inset 0 1px 0 #ffffff30,0 16px 35px #000e}.wk-fan-emoji-panel[hidden]{display:none}.wk-fan-emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.wk-fan-emoji{display:grid;place-items:center;aspect-ratio:1;border:1px solid #585252;border-radius:9px;background:linear-gradient(145deg,#28272a,#0d0d0f);cursor:pointer}.wk-fan-emoji:hover,.wk-fan-emoji:focus{border-color:#e2b574;background:#4a3830}.wk-fan-emoji svg{width:34px;height:34px}.wk-fan-count{justify-self:end;color:#aaa;font-size:12px}.wk-fan-avatar-area{grid-column:1/-1;display:grid;gap:10px}.wk-fan-avatar-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.wk-fan-avatar-option{position:relative;display:grid;place-items:center;width:58px;height:58px;padding:3px;border:1px solid #625d5b;border-radius:13px;background:linear-gradient(145deg,#353336,#0b0b0d);box-shadow:inset 0 1px 0 #ffffff2e,0 4px 9px #0008;cursor:pointer}.wk-fan-avatar-option img{width:50px;height:50px;object-fit:cover;border-radius:9px}.wk-fan-avatar-option input{position:absolute;opacity:0}.wk-fan-avatar-option:has(input:checked){border-color:#e5bd83;box-shadow:0 0 0 2px #d29e5b66,inset 0 1px 0 #fff5,0 4px 12px #0009}.wk-fan-upload{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#c7c0ba;font-size:12px}.wk-fan-upload input{max-width:100%;color:#ddd}.wk-fan-avatar-preview{width:50px;height:50px;border:1px solid #c19b67;border-radius:50%;object-fit:cover;background:#111}.wk-fan-consent{grid-column:1/-1;color:#aaa;font-size:12px;line-height:1.5}.wk-fan-submit-row{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.wk-fan-submit{border:1px solid #e0b676;border-radius:10px;padding:13px 24px;color:#fff;font-weight:900;letter-spacing:.04em;background:linear-gradient(180deg,#d7353e 0%,#a61020 48%,#5e0610 100%);box-shadow:inset 0 1px 0 #ffffff80,inset 0 -4px 6px #300308,0 7px 15px #0009;cursor:pointer}.wk-fan-submit:hover{filter:brightness(1.12);transform:translateY(-1px)}.wk-fan-submit:disabled{opacity:.6;cursor:wait}.wk-fan-status{min-height:1.4em;color:#ead8be;font-size:13px}.wk-fan-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.wk-fan-entries{display:grid;gap:13px;margin-top:22px}.wk-fan-entry{display:grid;grid-template-columns:50px minmax(0,1fr);gap:13px;padding:15px;border:1px solid #4e4a48;border-radius:14px;background:linear-gradient(145deg,#222124,#0b0b0d);box-shadow:inset 0 1px 0 #ffffff13,0 8px 18px #0008}.wk-fan-entry img{width:50px;height:50px;border:1px solid #aa8b64;border-radius:50%;object-fit:cover}.wk-fan-entry-head{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.wk-fan-entry-head strong{color:#f3dfc0}.wk-fan-entry-location,.wk-fan-entry time{color:#aaa;font-size:12px}.wk-fan-entry p{margin:8px 0 0;color:#f0ece7;line-height:1.58;overflow-wrap:anywhere;white-space:pre-wrap}.wk-fan-pagination{display:flex;justify-content:center;gap:10px;margin-top:18px}.wk-fan-pagination button{border:1px solid #625a52;border-radius:8px;padding:9px 14px;color:#fff;background:linear-gradient(#333,#111);cursor:pointer}.wk-fan-pagination button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:650px){.wk-fan-head{align-items:start;flex-direction:column}.wk-fan-form{grid-template-columns:1fr}.wk-fan-message,.wk-fan-avatar-area,.wk-fan-consent,.wk-fan-submit-row{grid-column:1}.wk-fan-console{padding:22px 16px}.wk-fan-entries{gap:10px}}
@media(prefers-reduced-motion:reduce){.wk-fan-archive-link:hover,.wk-fan-submit:hover{transform:none}}

/* Echo-room submission dialog */
.wk-echo-open-button{font:inherit;cursor:pointer}
.wk-echo-modal[hidden]{display:none!important}
.wk-echo-modal{position:fixed;inset:0;z-index:100050;display:grid;place-items:center;padding:clamp(12px,3vw,32px)}
.wk-echo-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}
.wk-echo-modal-panel{position:relative;z-index:1;width:min(760px,100%);max-height:min(92dvh,940px);overflow:auto;padding:clamp(22px,4vw,42px);border:1px solid rgba(214,163,83,.58);border-radius:18px;background:linear-gradient(145deg,#171513 0%,#090909 76%);box-shadow:0 24px 80px rgba(0,0,0,.75),inset 0 1px rgba(255,255,255,.08);color:#f4eee4;scrollbar-gutter:stable}
.wk-echo-modal-panel h2{margin:.2em 48px .3em 0;color:#f7e4bd;font-family:inherit;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.12}
.wk-echo-modal-panel>p:not(.wk-echo-modal-kicker){max-width:58ch;margin:0 0 1.35rem;color:#d1c9be;line-height:1.55}
.wk-echo-modal-kicker{display:block;width:min(100%,390px);height:40px;margin:0;object-fit:cover;object-position:center 50%}
.wk-echo-modal-close{position:absolute;top:14px;right:14px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:linear-gradient(155deg,#49433d,#171513 58%,#080808);box-shadow:0 4px 12px rgba(0,0,0,.55),inset 0 1px 1px rgba(255,255,255,.28);color:#fff;font:700 27px/1 Arial,sans-serif;cursor:pointer}
.wk-echo-modal-close:hover{border-color:#d8a458;color:#ffd690;transform:translateY(-1px)}
.wk-echo-modal-close:focus-visible,.wk-echo-open-button:focus-visible{outline:3px solid #e7b66b;outline-offset:3px}
body.wk-echo-modal-open{overflow:hidden}
@media(max-width:600px){.wk-echo-modal{padding:10px}.wk-echo-modal-panel{max-height:94dvh;padding:24px 17px;border-radius:14px}.wk-echo-modal-close{top:10px;right:10px;width:38px;height:38px}.wk-echo-modal-panel h2{padding-right:35px}}
@media(prefers-reduced-motion:no-preference){.wk-echo-modal-panel{animation:wkEchoModalIn .18s ease-out both}.wk-echo-modal-close{transition:transform .15s ease,color .15s ease,border-color .15s ease}}
@keyframes wkEchoModalIn{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
.wk-fan-kicker-image{display:block;width:min(100%,340px);height:36px;margin:0;object-fit:cover;object-position:center 50%}
/* V178 local categorized emoji picker: native Unicode emoji plus the site's local 3D set. */
.wk-fan-emoji-panel{display:flex;flex-direction:column;gap:9px;width:min(390px,calc(100vw - 32px));max-height:min(430px,calc(100vh - 150px));max-height:min(430px,calc(100dvh - 150px));padding:11px;border:1px solid #b79b73;border-radius:16px;background:linear-gradient(145deg,#2b292b,#101012 62%);box-shadow:inset 0 1px 0 #ffffff30,0 18px 42px #000e;overflow:hidden;}
.wk-fan-emoji-panel[hidden]{display:none!important}
.wk-fan-emoji-categories{display:flex;flex:0 0 auto;gap:5px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:thin;scrollbar-color:#9a7850 #171619;overscroll-behavior-x:contain}
.wk-fan-emoji-category{flex:0 0 auto;min-height:36px;padding:7px 9px;border:1px solid #554a3d;border-radius:999px;background:linear-gradient(180deg,#302e30,#181719);box-shadow:inset 0 1px 0 #ffffff18,0 2px 4px #0007;color:#e9dfd2;font:700 11px/1.1 system-ui,sans-serif;white-space:nowrap;cursor:pointer}
.wk-fan-emoji-category[aria-selected=true]{border-color:#d2aa72;background:linear-gradient(180deg,#715336,#332319);box-shadow:inset 0 1px 0 #fff5,0 0 0 1px #bd955c55;color:#fff4df}
.wk-fan-emoji-category:focus-visible,.wk-fan-emoji:focus-visible{outline:2px solid #f0c982;outline-offset:2px}
.wk-fan-emoji-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px;scrollbar-width:thin;scrollbar-color:#9a7850 #171619}
.wk-fan-emoji{min-width:0;aspect-ratio:1;border-radius:10px;background:linear-gradient(145deg,#302e31,#111113);font-family:"Apple Color Emoji","Segoe UI Emoji","Samsung Color Emoji","Noto Color Emoji",sans-serif;font-size:25px;line-height:1}
.wk-fan-emoji svg{width:32px;height:32px}
.wk-fan-emoji-help{flex:0 0 auto;margin:0;padding-top:5px;border-top:1px solid #ffffff18;color:#bcb4aa;font-size:11px;text-align:center}
@media(max-width:420px){.wk-fan-emoji-panel{width:min(360px,calc(100vw - 28px));padding:9px}.wk-fan-emoji-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.wk-fan-emoji{font-size:23px}.wk-fan-emoji-category{padding:7px 8px}}
.wk-fan-field textarea{padding-right:100px}
.wk-fan-emoji-toggle{right:9px}
.wk-fan-gif-toggle{position:absolute;right:53px;top:9px;min-width:42px;height:39px;padding:0 10px;border:1px solid #ee8174;border-radius:999px;color:#fff;background:linear-gradient(180deg,#e74648 0%,#a81524 55%,#610b13 100%);box-shadow:inset 0 1px 0 #ffffff9c,inset 0 -3px 4px #3c060b,0 4px 8px #000b;font-weight:900;letter-spacing:.04em;cursor:pointer}
.wk-fan-gif-toggle:hover,.wk-fan-gif-toggle:focus-visible{filter:brightness(1.14);transform:translateY(-1px)}
.wk-fan-emoji-panel,.wk-fan-gif-panel{max-height:min(420px,70vh);overflow:hidden}
.wk-fan-emoji-categories{display:flex;gap:5px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:thin}
.wk-fan-emoji-category{flex:none;border:1px solid #5c5550;border-radius:999px;padding:6px 9px;color:#f5ead9;background:linear-gradient(#343236,#151416);font:700 11px/1.15 system-ui,sans-serif;cursor:pointer}
.wk-fan-emoji-category[aria-selected=true]{border-color:#e2b574;background:linear-gradient(#7a2927,#3e1214);box-shadow:inset 0 1px 0 #ffffff5c,0 2px 6px #0008}
.wk-fan-emoji-grid{max-height:min(280px,48vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.wk-fan-emoji img,.wk-fan-emoji svg{width:34px;height:34px;object-fit:contain}
.wk-fan-inline-emoji{display:inline-block;width:1.45em;height:1.45em;margin:0 .08em;vertical-align:-.32em;object-fit:contain}
.wk-fan-gif-panel[hidden],.wk-fan-gif-preview[hidden]{display:none!important}
.wk-fan-gif-panel{position:absolute;z-index:12;top:52px;right:0;width:min(360px,calc(100vw - 42px));padding:12px;border:1px solid #b79b73;border-radius:14px;background:linear-gradient(145deg,#333236,#101012);box-shadow:inset 0 1px 0 #ffffff30,0 16px 35px #000e}
.wk-fan-gif-search label{display:block;margin-bottom:6px;color:#ead8be;font-size:12px;font-weight:800}
.wk-fan-gif-search>div{display:flex;gap:7px}
.wk-fan-gif-search input{min-width:0;flex:1;padding:9px 10px;border:1px solid #625a52;border-radius:8px;color:#fff;background:#101012;font:inherit}
.wk-fan-gif-search button{border:1px solid #e1b477;border-radius:8px;padding:8px 11px;color:#fff;background:linear-gradient(#b92b35,#620b12);font-weight:800;cursor:pointer}
.wk-fan-gif-status{min-height:1.3em;margin:10px 0;color:#d4c6b6;font-size:12px}
.wk-fan-gif-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:min(250px,42vh);overflow:auto;overscroll-behavior:contain}
.wk-fan-gif-result{min-width:0;height:82px;padding:0;overflow:hidden;border:1px solid #51494a;border-radius:7px;background:#09090b;cursor:pointer}
.wk-fan-gif-result:hover,.wk-fan-gif-result:focus-visible{border-color:#e3ba7c;box-shadow:0 0 0 2px #e3ba7c55}
.wk-fan-gif-result img{display:block;width:100%;height:100%;object-fit:cover}
.wk-giphy-attribution{display:flex;justify-content:flex-end;align-items:center;gap:4px;margin-top:9px;color:#ded1bf;font-size:11px;text-decoration:none}
.wk-giphy-attribution strong{color:#fff;font-size:14px;font-weight:1000;letter-spacing:.05em}
.wk-fan-gif-preview{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin:8px 0 0;padding:6px;border:1px solid #a78a65;border-radius:10px;background:#0b0b0de8}
.wk-fan-gif-preview img{display:block;width:104px;height:70px;object-fit:cover;border-radius:6px}
.wk-fan-gif-preview button{width:30px;height:30px;border:1px solid #d5b27f;border-radius:50%;color:#fff;background:linear-gradient(#494247,#171518);font-size:19px;cursor:pointer}
.wk-fan-entry-gif{display:block;width:min(90px,100%)!important;height:68px!important;max-width:min(100%,90px)!important;max-height:68px!important;margin-top:10px;border:1px solid #695746!important;border-radius:8px!important;object-fit:contain!important}
@media(max-width:480px){.wk-fan-gif-panel{width:min(340px,calc(100vw - 28px));right:-5px}.wk-fan-gif-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wk-fan-gif-result{height:94px}}
.wk-fan-message-editor{box-sizing:border-box;width:100%;min-height:122px;max-height:38vh;overflow:auto;resize:vertical;padding:12px 56px 12px 14px;border:1px solid #666166;border-radius:10px;color:#fff;background:linear-gradient(155deg,#09090a,#222124);box-shadow:inset 0 4px 9px #000b,inset 0 1px 0 #ffffff14,0 1px 0 #ffffff0c;font:inherit;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;outline:none;overscroll-behavior:contain}
.wk-fan-message-editor:focus{border-color:#be9c71;box-shadow:inset 0 4px 9px #000b,0 0 0 3px #bd182c45}
.wk-fan-message-editor:empty::before{content:attr(data-placeholder);color:#aaa;pointer-events:none}
.wk-fan-input-emoji{display:inline-flex;width:1.15em;height:1.15em;align-items:center;justify-content:center;vertical-align:-.22em;margin:0 .04em;line-height:1}
.wk-fan-input-emoji svg,.wk-fan-input-emoji img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:600px){.wk-fan-message-editor{min-height:112px;max-height:42vh;padding-right:54px}}

/* V190: viewport-safe composer controls and touch sizing for phones/tablets/desktops. */
.wk-fan-console,.wk-fan-form,.wk-fan-field,.wk-fan-message-wrap{box-sizing:border-box;min-width:0;max-width:100%}
.wk-fan-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.wk-fan-field input,.wk-fan-field textarea,.wk-fan-field select{box-sizing:border-box;min-width:0;max-width:100%}
.wk-fan-emoji-toggle,.wk-fan-gif-toggle{box-sizing:border-box;width:44px;min-width:44px;height:44px;min-height:44px;touch-action:manipulation}
.wk-fan-gif-toggle{right:59px}
.wk-fan-emoji-panel,.wk-fan-gif-panel{box-sizing:border-box;left:0;right:auto;width:min(390px,100%);max-width:100%;max-height:min(430px,calc(100vh - 120px));max-height:min(430px,calc(100dvh - 120px));overflow:hidden}
.wk-fan-emoji-categories{max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x}
.wk-fan-emoji-category{min-height:44px;touch-action:manipulation}
.wk-fan-emoji-grid{grid-template-columns:repeat(6,minmax(0,1fr));max-width:100%;min-width:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.wk-fan-emoji{min-width:0;min-height:44px;touch-action:manipulation}
.wk-fan-gif-grid{max-width:100%;min-width:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.wk-fan-gif-result,.wk-fan-gif-search button,.wk-fan-gif-preview button{min-height:44px;touch-action:manipulation}
.wk-fan-gif-search input{box-sizing:border-box;min-width:0;max-width:100%}
.wk-fan-message-editor{min-width:0;max-width:100%;overflow-x:hidden;overflow-y:auto;overflow-wrap:anywhere;word-break:break-word;touch-action:pan-y}
.wk-fan-input-emoji svg,.wk-fan-input-emoji img{flex:none;max-width:100%;max-height:100%}
@media(max-width:650px){.wk-fan-form{grid-template-columns:minmax(0,1fr)}.wk-fan-console{max-width:100%;overflow:visible}.wk-fan-emoji-panel,.wk-fan-gif-panel{width:100%;max-width:100%}.wk-fan-emoji-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}}
@media(max-width:380px){.wk-fan-emoji-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.wk-fan-emoji-panel,.wk-fan-gif-panel{padding:8px}.wk-fan-emoji-category{padding-inline:7px}}
@media(pointer:coarse){.wk-fan-emoji-category,.wk-fan-emoji,.wk-fan-gif-result,.wk-fan-gif-toggle,.wk-fan-emoji-toggle,.wk-fan-gif-search button{ -webkit-tap-highlight-color:transparent}}
@media(max-width:340px){.wk-fan-emoji-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* V191: keep emoji and GIF controls outside the editable message surface. */
.wk-fan-message-wrap{display:flex;flex-direction:column;align-items:stretch;gap:9px;position:relative}
.wk-fan-message-editor{padding-right:14px!important}
.wk-fan-message-tools{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;min-width:0}
.wk-fan-message-tools .wk-fan-emoji-toggle,.wk-fan-message-tools .wk-fan-gif-toggle{position:relative;inset:auto;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;touch-action:manipulation}
.wk-fan-message-tools .wk-fan-gif-toggle{border-radius:14px}
.wk-fan-message-wrap>.wk-fan-emoji-panel,.wk-fan-message-wrap>.wk-fan-gif-panel{position:static;inset:auto;z-index:auto;box-sizing:border-box;width:100%;max-width:100%;max-height:min(430px,calc(100vh - 120px));max-height:min(430px,calc(100dvh - 120px));margin:0;overflow:hidden}
.wk-fan-message-wrap>.wk-fan-emoji-panel[hidden],.wk-fan-message-wrap>.wk-fan-gif-panel[hidden]{display:none!important}
.wk-fan-message-wrap>.wk-fan-gif-preview{margin:0}
@media(max-width:650px){.wk-fan-message-wrap{gap:8px}.wk-fan-message-editor{padding-right:14px!important}.wk-fan-message-tools{justify-content:flex-end}.wk-fan-message-wrap>.wk-fan-emoji-panel,.wk-fan-message-wrap>.wk-fan-gif-panel{width:100%;max-width:100%}}

/* V192: one responsive picker owns the emoji categories and the GIPHY tab. */
.wk-fan-message{display:grid;min-width:0}
.wk-fan-field-title{display:block;color:#e7ddd0;font-size:13px;font-weight:800;letter-spacing:.025em}
.wk-fan-message-tools{justify-content:flex-end;align-items:center;min-height:44px}
.wk-fan-message-tools .wk-fan-emoji-toggle{position:relative;inset:auto;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;margin:0}
.wk-fan-message-tools .wk-fan-gif-toggle{display:none!important}
.wk-fan-message-wrap>.wk-fan-emoji-panel{position:static;inset:auto;box-sizing:border-box;width:100%;max-width:100%;min-width:0;max-height:min(430px,calc(100vh - 120px));max-height:min(430px,calc(100dvh - 120px));margin:0;overflow:hidden}
.wk-fan-emoji-panel .wk-fan-emoji-categories{display:flex;flex-wrap:nowrap;gap:5px;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x}
.wk-fan-emoji-panel .wk-fan-emoji-category{flex:0 0 auto;min-height:44px;white-space:nowrap;touch-action:manipulation}
.wk-fan-emoji-panel .wk-fan-emoji-grid[hidden],.wk-fan-emoji-panel .wk-fan-emoji-help[hidden],.wk-fan-emoji-panel .wk-fan-gif-panel[hidden]{display:none!important}
.wk-fan-emoji-panel .wk-fan-gif-panel{position:static;inset:auto;z-index:auto;box-sizing:border-box;width:100%;max-width:100%;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.wk-fan-emoji-panel .wk-fan-gif-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:min(250px,42vh);overflow:auto}
.wk-fan-emoji-panel .wk-fan-gif-search input,.wk-fan-emoji-panel .wk-fan-gif-search button,.wk-fan-emoji-panel .wk-fan-gif-result{min-height:44px;touch-action:manipulation}
@media(max-width:480px){.wk-fan-emoji-panel .wk-fan-gif-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wk-fan-emoji-panel .wk-fan-gif-result{height:94px}}

/* V193: keep emoji and GIF options in stable, separate tap tiles on every viewport. */
.wk-fan-emoji-panel .wk-fan-emoji-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-auto-rows:auto;align-content:start;align-items:stretch;justify-items:stretch;gap:6px;min-width:0;max-width:100%;max-height:min(280px,48vh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.wk-fan-emoji-panel .wk-fan-emoji-grid>.wk-fan-emoji{display:grid!important;box-sizing:border-box;width:100%;height:auto;min-width:0;min-height:0!important;aspect-ratio:1/1;padding:3px;place-items:center;overflow:hidden;touch-action:manipulation}
.wk-fan-emoji-panel .wk-fan-emoji-grid>.wk-fan-emoji img,.wk-fan-emoji-panel .wk-fan-emoji-grid>.wk-fan-emoji svg{display:block;width:min(100%,34px);height:min(100%,34px);max-width:100%;max-height:100%;object-fit:contain}
.wk-fan-emoji-panel .wk-fan-gif-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(72px,1fr))!important;grid-auto-rows:auto;align-content:start;align-items:start;justify-items:stretch;gap:7px;min-width:0;max-width:100%;max-height:min(250px,42vh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.wk-fan-emoji-panel .wk-fan-gif-grid>.wk-fan-gif-result{display:block!important;box-sizing:border-box;width:100%;height:auto!important;min-width:0;min-height:0!important;aspect-ratio:1/1;padding:0;overflow:hidden;touch-action:manipulation}
.wk-fan-emoji-panel .wk-fan-gif-grid>.wk-fan-gif-result img{display:block;width:100%;height:100%;object-fit:cover}
.wk-fan-message-wrap>.wk-fan-gif-preview{position:relative;display:inline-block;box-sizing:border-box;width:116px;height:82px;max-width:100%;margin:0;padding:5px;overflow:hidden;border:1px solid #a78a65;border-radius:10px;background:#0b0b0de8}
.wk-fan-message-wrap>.wk-fan-gif-preview>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:6px}
.wk-fan-message-wrap>.wk-fan-gif-preview>button#wkFanGifRemove{position:absolute;top:3px;right:3px;z-index:2;display:grid;place-items:center;box-sizing:border-box;width:28px;height:28px;min-width:28px;min-height:28px!important;margin:0;padding:0;border:1px solid #f1d9b2;border-radius:50%;color:#fff;background:linear-gradient(145deg,#514950,#171518);box-shadow:inset 0 1px 0 #ffffff70,0 2px 6px #000c;font-size:17px;font-weight:800;line-height:1;cursor:pointer;touch-action:manipulation}
.wk-fan-message-wrap>.wk-fan-gif-preview>button#wkFanGifRemove:hover,.wk-fan-message-wrap>.wk-fan-gif-preview>button#wkFanGifRemove:focus-visible{border-color:#fff2ce;filter:brightness(1.15);outline:2px solid #f1d9b280;outline-offset:1px}
.wk-fan-emoji-panel .wk-fan-gif-suggestions[hidden]{display:none!important}
.wk-fan-emoji-panel .wk-fan-gif-suggestions{display:grid;gap:4px;max-width:100%;max-height:150px;margin-top:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.wk-fan-emoji-panel .wk-fan-gif-suggestion{display:block;width:100%;min-width:0;min-height:38px;padding:7px 10px;overflow:hidden;border:1px solid #51494a;border-radius:7px;color:#f2e6d4;background:linear-gradient(145deg,#29272a,#111113);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;touch-action:manipulation}
.wk-fan-emoji-panel .wk-fan-gif-suggestion:hover,.wk-fan-emoji-panel .wk-fan-gif-suggestion:focus-visible{border-color:#e3ba7c;background:linear-gradient(145deg,#48352e,#191416);outline:2px solid #e3ba7c55;outline-offset:1px}
.wk-fan-emoji-panel .wk-fan-gif-search input[aria-autocomplete="list"]{min-width:0}
@media(max-width:480px){.wk-fan-emoji-panel .wk-fan-emoji-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:5px}.wk-fan-emoji-panel .wk-fan-gif-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))!important;grid-auto-rows:auto}.wk-fan-emoji-panel .wk-fan-gif-grid>.wk-fan-gif-result{height:auto!important}}
@media(max-width:340px){.wk-fan-emoji-panel .wk-fan-emoji-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
/* V194: phone-keyboard tiles with fixed square sizing; keep the desktop picker compact. */
.wk-fan-message-wrap>.wk-fan-emoji-panel{box-sizing:border-box;width:min(340px,100%)!important;max-width:100%;min-width:0;align-self:flex-start}
.wk-fan-emoji-panel .wk-fan-emoji-grid{display:grid!important;grid-template-columns:repeat(auto-fill,44px)!important;grid-auto-rows:44px!important;justify-content:start;align-content:start;align-items:stretch;justify-items:stretch;gap:6px;min-width:0;max-width:100%;overflow-x:hidden;overflow-y:auto}
.wk-fan-emoji-panel .wk-fan-emoji-grid>.wk-fan-emoji{display:grid!important;box-sizing:border-box;width:44px!important;height:44px!important;min-width:44px;min-height:44px!important;max-width:44px;max-height:44px;aspect-ratio:auto;padding:2px;place-items:center;overflow:hidden}
.wk-fan-emoji-panel .wk-fan-emoji-grid>.wk-fan-emoji img,.wk-fan-emoji-panel .wk-fan-emoji-grid>.wk-fan-emoji svg{display:block;width:36px!important;height:36px!important;max-width:100%;max-height:100%;object-fit:contain}
.wk-fan-emoji-panel .wk-fan-gif-grid{display:grid!important;grid-template-columns:repeat(auto-fill,76px)!important;grid-auto-rows:76px!important;justify-content:start;align-content:start;align-items:stretch;justify-items:stretch;gap:7px;min-width:0;max-width:100%;overflow-x:hidden;overflow-y:auto}
.wk-fan-emoji-panel .wk-fan-gif-grid>.wk-fan-gif-result{display:block!important;box-sizing:border-box;width:76px!important;height:76px!important;min-width:76px;min-height:76px!important;max-width:76px;max-height:76px;aspect-ratio:auto;padding:0;overflow:hidden}
.wk-fan-emoji-panel .wk-fan-gif-grid>.wk-fan-gif-result img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:420px){.wk-fan-message-wrap>.wk-fan-emoji-panel{width:min(340px,100%)!important}.wk-fan-emoji-panel .wk-fan-emoji-grid{grid-template-columns:repeat(auto-fill,42px)!important;grid-auto-rows:42px!important;gap:5px}.wk-fan-emoji-panel .wk-fan-emoji-grid>.wk-fan-emoji{width:42px!important;height:42px!important;min-width:42px;min-height:42px!important;max-width:42px;max-height:42px}.wk-fan-emoji-panel .wk-fan-emoji-grid>.wk-fan-emoji img,.wk-fan-emoji-panel .wk-fan-emoji-grid>.wk-fan-emoji svg{width:34px!important;height:34px!important}.wk-fan-emoji-panel .wk-fan-gif-grid{grid-template-columns:repeat(auto-fill,70px)!important;grid-auto-rows:70px!important}.wk-fan-emoji-panel .wk-fan-gif-grid>.wk-fan-gif-result{width:70px!important;height:70px!important;min-width:70px;min-height:70px!important;max-width:70px;max-height:70px}}
/* V195: align the compact picker directly below the right-aligned emoji trigger. */
.wk-fan-message-wrap>.wk-fan-emoji-panel{align-self:flex-end!important;margin-top:0!important}
/* Optional live country/state/city chooser shared by Home and Echoes. */
.wk-fan-location{display:grid;gap:10px;min-width:0}
.wk-fan-location .wk-fan-field-title{display:block}
.wk-location-tier{display:grid;gap:5px;min-width:0}
.wk-location-tier>label{font-size:13px;font-weight:700;color:#e4d4bc}
.wk-location-tier small,.wk-fan-field-title small{color:#aaa;font-size:12px;font-weight:500}
.wk-location-control{display:flex;align-items:center;gap:8px;min-width:0}
.wk-location-control select,.wk-location-city-wrap input{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #554a3c;border-radius:9px;background:#100f10;color:#f7f1e7;font:inherit}
.wk-location-control select:focus,.wk-location-city-wrap input:focus{outline:2px solid #c49b63;outline-offset:1px}
.wk-location-city-wrap{position:relative;min-width:0;flex:1 1 auto}
.wk-location-tier[data-location-city-wrap]{grid-template-columns:minmax(0,1fr);align-items:end}
.wk-location-tier[data-location-city-wrap]>label{grid-column:1/-1}
.wk-location-suggestions{position:absolute;z-index:40;top:calc(100% + 5px);left:0;right:0;max-height:min(280px,45vh);overflow:auto;padding:5px;border:1px solid #68543b;border-radius:10px;background:#111013;box-shadow:0 12px 30px #000b}
.wk-location-option{display:block;width:100%;min-height:42px;padding:9px 11px;border:0;border-radius:6px;background:transparent;color:#f5eee2;text-align:left;font:inherit;cursor:pointer;touch-action:manipulation}
.wk-location-option:hover,.wk-location-option[aria-selected=true]{background:#342a20;color:#ffe0ad}
.wk-location-status{margin:0;color:#aaa;font-size:12px;line-height:1.4}
@media(max-width:520px){.wk-location-control{align-items:stretch}.wk-location-tier[data-location-city-wrap]{grid-template-columns:minmax(0,1fr)}}

/* V206 Echoes form polish: clearer hierarchy, compact identity field and touch-safe location actions. */
.wk-fan-head h2,#wkEchoModalTitle{color:#f5d5a1;text-shadow:0 1px 0 #8a5b2b,0 2px 0 #4d2d18,0 4px 8px #000d;letter-spacing:.035em}
.wk-fan-field-title,.wk-fan-name-field>span{position:relative;display:inline-block;width:max-content;max-width:100%;padding:0 0 5px;color:#f2d7ae;text-shadow:0 1px 0 #765032,0 2px 5px #000c;letter-spacing:.045em}
.wk-fan-field-title::after,.wk-fan-name-field>span::after{content:"";position:absolute;left:0;bottom:0;width:min(58px,100%);height:2px;border-radius:2px;background:linear-gradient(90deg,#c73534,#d7b17b 68%,transparent);box-shadow:0 1px 4px #000b}
.wk-fan-name-field{grid-column:1/-1;width:min(440px,100%);align-content:start;gap:7px}
.wk-fan-name-field input[name="name"]{box-sizing:border-box;width:100%;height:48px;min-height:48px;max-height:48px;padding:10px 13px}
.wk-fan-location>.wk-fan-field-title{width:max-content}
.wk-location-required{display:inline-block;margin-left:3px;color:#ff5965;font-size:1.15em;font-weight:900;text-shadow:0 1px 4px #a10d1c}
.wk-location-control select,.wk-location-city-wrap input{height:46px;box-sizing:border-box}
.wk-location-option{border:1px solid transparent}
.wk-fan-avatar-option{overflow:hidden}
.wk-fan-avatar-option img{display:block;box-sizing:border-box;width:50px;height:50px;max-width:100%;max-height:100%;object-fit:contain;object-position:center;border-radius:8px;background:transparent;font-size:0;line-height:0}
.wk-fan-avatar-option:focus-within{outline:2px solid #e4b777;outline-offset:2px}
@media(max-width:520px){.wk-fan-name-field{width:100%}.wk-fan-name-field input[name="name"]{height:46px;min-height:46px;max-height:46px}.wk-location-control select{min-width:0}}
/* V209: shared, touch-friendly branded persona dropdown for both Echoes forms. */
.wk-avatar-control{position:relative;display:grid;gap:8px;min-width:0;width:100%;max-width:440px}
.wk-avatar-initialize{box-sizing:border-box;display:grid;grid-template-columns:50px minmax(0,1fr) 22px;align-items:center;gap:13px;width:100%;min-height:74px;padding:10px 13px;border:1px solid #c5a06d;border-radius:13px;color:#fff;background:linear-gradient(155deg,#393233 0%,#171517 54%,#09090a 100%);box-shadow:inset 0 1px 0 #ffffff35,inset 0 -5px 9px #0009,0 5px 13px #0009;cursor:pointer;text-align:left;touch-action:manipulation}
.wk-avatar-initialize:hover,.wk-avatar-initialize[aria-expanded=true]{border-color:#f0c986;background:linear-gradient(155deg,#534039 0%,#211a19 55%,#0b0a0b 100%);box-shadow:inset 0 1px 0 #ffffff50,inset 0 -5px 9px #0009,0 0 0 2px #bc202c38,0 7px 18px #000b}
.wk-avatar-initialize:focus-visible,.wk-avatar-option:focus-visible{outline:2px solid #f0c982;outline-offset:3px}
.wk-avatar-current,.wk-avatar-option>svg{display:grid;place-items:center;width:50px;height:50px;overflow:hidden;border:1px solid #c5a06d;border-radius:50%;background:radial-gradient(circle at 35% 25%,#5e5550,#151315 72%);box-shadow:inset 0 1px 3px #fff3,0 2px 7px #0009}
.wk-avatar-current svg,.wk-avatar-option>svg{width:100%;height:100%;object-fit:contain}
.wk-avatar-current>img{display:block;width:100%;height:100%;object-fit:contain}
.wk-avatar-current svg[hidden]{display:none}
.wk-avatar-copy{display:grid;gap:4px;min-width:0}
.wk-avatar-copy strong{font-size:clamp(12px,1.5vw,14px);letter-spacing:.06em;line-height:1.2;overflow-wrap:anywhere}
.wk-avatar-copy code{font:700 12px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;color:#e9c68f;overflow-wrap:anywhere}.wk-avatar-option-name{display:block;min-width:0;font-family:inherit;font-size:14px;font-weight:700;line-height:1.35;color:#f2d5a6;overflow-wrap:anywhere}
.wk-avatar-chevron{justify-self:center;color:#edc98c;font-size:25px;line-height:1;transition:transform .16s ease}
.wk-avatar-initialize[aria-expanded=true] .wk-avatar-chevron{transform:rotate(180deg)}
.wk-avatar-options{position:absolute;z-index:50;top:calc(100% + 7px);left:0;box-sizing:border-box;width:min(100%,calc(100vw - 32px));max-width:440px;max-height:min(440px,60vh);max-height:min(440px,60vh,calc(100dvh - 130px));overflow-x:hidden;overflow-y:auto;padding:10px;border:1px solid #b99a70;border-radius:14px;background:linear-gradient(150deg,#292729,#101012 65%);box-shadow:inset 0 1px 0 #ffffff25,0 16px 36px #000e;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.wk-avatar-options[hidden]{display:none!important}
.wk-avatar-theme{margin:8px 4px 6px;color:#d8b77e;font-size:11px;font-weight:900;letter-spacing:.1em;line-height:1.35}
.wk-avatar-option{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:12px;width:100%;min-height:64px;margin:0 0 5px;padding:6px 9px;border:1px solid #514b47;border-radius:10px;color:#f8f4ee;background:linear-gradient(145deg,#272528,#121214);box-shadow:inset 0 1px 0 #ffffff18,0 2px 5px #0008;text-align:left;cursor:pointer;touch-action:manipulation}
.wk-avatar-option:hover,.wk-avatar-option[aria-selected=true]{border-color:#dfb879;background:linear-gradient(145deg,#44342c,#1c1716);box-shadow:inset 0 1px 0 #fff4,0 0 0 1px #c1945b44,0 3px 8px #0009}
.wk-avatar-option>svg{width:50px;height:50px}
.wk-avatar-option>.wk-avatar-art{display:block;width:50px;height:50px;object-fit:contain;border:1px solid #c5a06d;border-radius:50%;background:radial-gradient(circle at 35% 25%,#5e5550,#151315 72%)}
.wk-avatar-option-name{font-size:13px}
.wk-avatar-loading{margin:8px;color:#d9d0c7;font-size:13px}
@media(max-width:650px){.wk-avatar-control{max-width:100%}.wk-avatar-options{max-width:100%;max-height:min(420px,55vh);max-height:min(420px,55vh,calc(100dvh - 110px))}.wk-avatar-option{min-height:64px}}
@media(prefers-reduced-motion:reduce){.wk-avatar-chevron{transition:none}}

/* V246: keep Echoes form hit targets stationary during hover and press.
   The shared tactile stylesheet lifts/depresses whole buttons in 3D; some
   Chromium pointer paths then lose the release over the transformed target. */
#wkFanForm button:hover,
#wkFanForm button:focus-visible,
#wkFanForm button:active,
#wkFanForm button.wk-tactile-pressed{
  transform:none!important;
}

/* V209: nested persona themes and collections, shared on Home and Echoes. */
.wk-avatar-category{margin:2px 0 8px;border:1px solid #554b43;border-radius:10px;background:#171516}
.wk-avatar-theme{display:flex;align-items:center;justify-content:space-between;min-height:42px;margin:0;padding:9px 12px;cursor:pointer;list-style:none}
.wk-avatar-theme::-webkit-details-marker,.wk-avatar-subcategory>summary::-webkit-details-marker{display:none}
.wk-avatar-theme::marker,.wk-avatar-subcategory>summary::marker{content:""}
.wk-avatar-theme::after,.wk-avatar-subcategory>summary::after{content:none!important;display:none!important}
.wk-avatar-subcategory{margin:0 8px 8px;border:1px solid #403936;border-radius:9px;background:#100f10}
.wk-avatar-subcategory>summary{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:8px 11px;color:#f0d7b0;font-size:13px;font-weight:750;cursor:pointer;list-style:none}
.wk-avatar-subcategory[open]{padding-bottom:7px}
.wk-avatar-subcategory .wk-avatar-option{margin:4px 7px;width:calc(100% - 14px)}

/* V246: fixed-size 3D emoji art stays crisp without changing the trigger layout. */
.wk-fan-emoji-toggle img[data-wk-emoji-rotator]{display:block;width:34px;height:34px;max-width:100%;object-fit:contain;transition:opacity .18s ease;pointer-events:none}
.wk-fan-emoji-toggle img[data-wk-emoji-rotator].wk-emoji-changing{opacity:0}
.wk-fan-emoji-panel .wk-fan-emoji-grid>.wk-fan-emoji img{display:block;width:34px;height:34px;max-width:100%;max-height:100%;object-fit:contain}
@media(prefers-reduced-motion:reduce){.wk-fan-emoji-toggle img[data-wk-emoji-rotator]{transition:none}}

/* V246: comment-card avatar sizing must not turn inline emoji art into a cropped portrait. */
.wk-fan-entry p img.wk-fan-inline-emoji{display:inline-block!important;width:1.45em!important;height:1.45em!important;max-width:1.45em!important;max-height:1.45em!important;margin:0 .08em!important;border:0!important;border-radius:0!important;object-fit:contain!important;vertical-align:-.32em!important}
/* V436: the list reconciler owns viewport anchoring; avoid a second browser correction. */
.wk-fan-entries{min-height:240px;overflow-anchor:none}
.wk-fan-entry img{width:50px;height:50px;aspect-ratio:1/1;flex:0 0 50px}
/* V441: one-frame reconciler owns the viewport anchor; disable native double compensation. */
html body .wk-echoes-page #wkEchoesList.wk-fan-entries{overflow-anchor:none!important;scroll-behavior:auto!important}

.wk-fan-entry-attachments{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.wk-fan-entry-attachment{display:grid;gap:5px;max-width:min(100%,360px);color:#cfc4b7;font-size:12px}.wk-fan-entry-attachment img,.wk-fan-entry-attachment video{display:block;width:auto;max-width:100%;max-height:360px;border:1px solid #51463b;border-radius:9px;object-fit:contain;background:#050505}.wk-fan-entry-attachment video{width:min(100%,480px);aspect-ratio:16/9}

