/* One explicit picker overlays the page; it never increases the fixed composer height. */
.reaction-shelf{box-sizing:border-box;position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,540px);max-width:100vw;height:min(680px,76dvh);max-height:calc(100dvh - 20px);padding:0;border:1px solid #e6eaf0;border-bottom:0;border-radius:22px 22px 0 0;background:#fff;color:#1d293d;box-shadow:0 -10px 55px #17263c24;font-family:inherit;overflow:hidden}
.reaction-shelf[open]{display:flex;flex-direction:column}
.reaction-shelf::backdrop{background:#14223d66}
.reaction-shelf-open{overflow:hidden!important}
.reaction-shelf-handle{flex:none;width:36px;height:4px;border-radius:4px;margin:9px auto 0;background:#d6dce5}
.reaction-shelf-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;gap:12px;flex:none}
.reaction-shelf-head strong{display:block;font-size:20px;font-weight:750;letter-spacing:-.7px}
.reaction-shelf-head span{display:block;color:#7a8596;font-size:12px;margin-top:4px}
.reaction-shelf button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.reaction-shelf-head>button{width:38px;height:38px;border:0;border-radius:50%;background:#f1f3f7;color:#5b677a;font-size:24px;font-weight:400}
.reaction-search-wrap{padding:0 18px 12px;flex:none}
.reaction-search-wrap input{box-sizing:border-box;width:100%;height:44px;padding:10px 14px;background:#f3f5f8;border:1px solid #e7ebf0;border-radius:12px;font-family:inherit;font-size:16px;color:#25344b}
.reaction-shelf-tabs,.reaction-pack-tabs{display:flex;gap:6px;flex:none;padding:0 18px 10px;overflow:auto;scrollbar-width:none}
.reaction-shelf-tabs button{flex:1;white-space:nowrap;padding:10px 8px;border:0;border-radius:10px;background:#fff;color:#7b8595;font-size:13px;font-weight:650}
.reaction-shelf-tabs button[aria-pressed=true]{background:#edf2fc;color:#315bc3}
.reaction-pack-tabs button{white-space:nowrap;padding:7px 12px;border:1px solid #e4e8ee;border-radius:18px;background:#fff;color:#667187;font-size:12px}
.reaction-pack-tabs button[aria-pressed=true]{border-color:#1f2d45;background:#1f2d45;color:#fff}
.reaction-shelf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;gap:10px;padding:3px 18px 16px;overflow:auto;overscroll-behavior:contain;min-height:0;align-content:start;flex:1;scrollbar-width:thin}
.reaction-tile{position:relative;min-width:0;border:1px solid #e5e9f0;border-radius:13px;background:#f4f6f9;overflow:hidden}
.reaction-pick{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}
.reaction-tile .reaction-playback{height:104px;cursor:pointer}
.reaction-tile .reaction-playback video{object-fit:cover}
.reaction-pick span{display:block;padding:8px 8px 3px;color:#334058;font-size:12px;font-weight:650;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.reaction-favorite{position:absolute;top:5px;right:5px;width:32px;height:32px;padding:0;border:1px solid #ffffff99;border-radius:50%;background:#ffffffed;color:#66768d;font-size:22px;line-height:1}
.reaction-favorite[aria-pressed=true]{color:#bc8311;background:#fff3cd}
.reaction-source{display:block;padding:0 8px 7px;color:#7a8595;font-size:9px;text-decoration:none}
.reaction-shelf-footer{display:flex;align-items:center;justify-content:space-between;gap:5px;flex:none;padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid #eef0f4;color:#8390a1;font-size:10px}
.reaction-shelf-footer a{color:#566379;margin-right:auto}
.reaction-shelf-empty{padding:24px 18px;text-align:center;font-size:13px;color:#79859a}
.reaction-shelf button:focus-visible,.reaction-shelf a:focus-visible{outline:2px solid #426bd5;outline-offset:-2px}
.comment-reaction-embed{display:inline-block;vertical-align:top;width:min(240px,100%);max-width:100%;margin:8px 8px 4px 0;padding:0;white-space:normal;border-radius:10px;overflow:hidden;background:#f3f5f8}
.reaction-playback{position:relative;width:100%;height:180px;overflow:hidden;background:#edf0f4}
.reaction-playback video{display:block;width:100%;height:100%;object-fit:contain}
.reaction-playback-toggle{position:absolute;left:6px;bottom:6px;min-width:32px;min-height:32px;padding:4px 8px;border:1px solid #ffffff66;border-radius:16px;background:#172339dc;color:#fff;font-family:inherit;font-size:11px;font-weight:600;line-height:1.2;cursor:pointer;touch-action:manipulation}
.reaction-playback-toggle:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.comment-media-preview .reaction-playback{width:80px;height:80px;border-radius:8px}
.comment-media-preview .reaction-playback-toggle{top:auto;right:auto;left:3px;bottom:3px;min-width:28px;min-height:28px;padding:3px 6px;border-radius:14px;background:#172339dc;font-size:10px}
.comment-reaction-embed figcaption{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;color:#69768b;font-size:10px}
.comment-reaction-embed figcaption a{color:inherit;text-decoration:none}
@media(min-width:700px){.reaction-shelf{inset:0;margin:auto;border-bottom:1px solid #e6eaf0;border-radius:22px;height:min(700px,86dvh)}.reaction-tile .reaction-playback{height:126px}}
@media(max-height:560px){.reaction-shelf{height:calc(100dvh - 12px)}.reaction-shelf-head{padding-block:8px}.reaction-shelf-head span{display:none}.reaction-search-wrap{padding-bottom:7px}.reaction-shelf-tabs,.reaction-pack-tabs{padding-bottom:6px}.reaction-tile .reaction-playback{height:78px}}
