/* TF Post Reactions 0.5.5 – stabiler mobiler Menüeintrag und mobiler Viewport-Fix */
.tfpr-action-wrap { position:relative; }
.tfpr-toolbar-button { appearance:none; -webkit-appearance:none; display:inline-flex; align-items:center; justify-content:center; width:24px; min-width:24px; height:24px; padding:3px; border:1px solid transparent; border-radius:3px; background:transparent; box-sizing:border-box; color:inherit; font:inherit; cursor:pointer; }
.tfpr-menu-label { display:none; }
.tfpr-toolbar-symbol { display:block; width:16px; height:16px; flex:0 0 16px; filter:grayscale(1) brightness(.72) contrast(1.08) drop-shadow(0 1px 1px rgba(0,0,0,.28)); transition:transform .14s ease,filter .14s ease; }
.tfpr-toolbar-button:hover .tfpr-toolbar-symbol,.tfpr-toolbar-button:focus .tfpr-toolbar-symbol,.tfpr-toolbar-button[aria-expanded="true"] .tfpr-toolbar-symbol { transform:scale(1.08); filter:grayscale(.25) brightness(.95) drop-shadow(0 1px 1px rgba(0,0,0,.38)); }
.tfpr-toolbar-symbol.is-current { filter:grayscale(0) brightness(1.04) drop-shadow(0 0 3px rgba(43,121,168,.55)); }
.tfpr-picker { position:absolute; z-index:1000; right:0; top:39px; display:flex; align-items:center; gap:3px; margin:0; padding:7px; border:1px solid rgba(150,158,164,.72); border-radius:10px; background:rgba(248,250,252,.88); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 7px 18px rgba(0,0,0,.20); white-space:nowrap; }
.tfpr-picker[hidden] { display:none!important; }
.tfpr-picker.is-open { animation:tfpr-pop .14s ease-out; }
.tfpr-picker::before { content:""; position:absolute; right:12px; top:-7px; width:12px; height:12px; border-left:1px solid rgba(150,158,164,.72); border-top:1px solid rgba(150,158,164,.72); background:rgba(248,250,252,.94); transform:rotate(45deg); }
.tfpr-choice { appearance:none; -webkit-appearance:none; position:relative; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; width:58px; height:58px; padding:2px; border:1px solid transparent; border-radius:9px; background:transparent; cursor:pointer; transition:transform .14s ease,background-color .14s ease,border-color .14s ease,box-shadow .14s ease; }
.tfpr-icon { display:block; background-repeat:no-repeat; background-position:center; background-size:contain; }
.tfpr-icon-like { background-image:url("./images/reactions/gunmetal/like.png"); }
.tfpr-icon-dislike { background-image:url("./images/reactions/gunmetal/dislike.png"); }
.tfpr-icon-doubt { background-image:url("./images/reactions/gunmetal/doubt.png"); }
.tfpr-icon-smile { background-image:url("./images/reactions/gunmetal/smile.png"); }
.tfpr-icon-laugh { background-image:url("./images/reactions/gunmetal/laugh.png"); }
.tfpr-icon-surprise { background-image:url("./images/reactions/gunmetal/surprise.png"); }
.tfpr-icon-thanks { background-image:url("./images/reactions/gunmetal/thanks.png"); }
.tfpr-choice .tfpr-icon { width:52px; height:52px; filter:brightness(1.08) saturate(1.03) drop-shadow(0 2px 2px rgba(0,0,0,.30)); transition:transform .14s ease,filter .14s ease; }
.tfpr-choice-label { position:absolute; left:50%; bottom:-25px; z-index:2; transform:translateX(-50%); padding:3px 6px; border-radius:4px; background:rgba(40,45,49,.94); color:#f7f7f7; font:11px/1.2 Arial,sans-serif; opacity:0; pointer-events:none; box-shadow:0 2px 6px rgba(0,0,0,.35); transition:opacity .12s ease; }
.tfpr-choice:hover,.tfpr-choice:focus { transform:translateY(-3px) scale(1.06); border-color:rgba(119,145,163,.70); background:rgba(255,255,255,.72); box-shadow:inset 0 0 0 1px rgba(255,255,255,.75),0 3px 9px rgba(0,0,0,.16); outline:none; }
.tfpr-choice:hover .tfpr-icon,.tfpr-choice:focus .tfpr-icon { filter:brightness(1.18) saturate(1.06) drop-shadow(0 3px 3px rgba(0,0,0,.30)); }
.tfpr-choice:hover .tfpr-choice-label,.tfpr-choice:focus .tfpr-choice-label { opacity:1; }
.tfpr-choice.is-current { border-color:#86aec6; background:radial-gradient(circle,rgba(215,239,252,.78),rgba(160,205,231,.38)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.80),0 0 8px rgba(55,129,177,.30); }
.tfpr-choice.is-current::after { content:""; position:absolute; right:2px; top:2px; width:7px; height:7px; border:1px solid rgba(255,255,255,.8); border-radius:50%; background:#4d90ba; box-shadow:0 1px 3px rgba(0,0,0,.55); }
.tfpr-choice:disabled { cursor:wait; opacity:.5; }
.tfpr-summary { display:inline-flex; align-items:center; flex-wrap:wrap; gap:5px; min-height:28px; }
.tfpr-count { appearance:none; -webkit-appearance:none; position:relative; display:inline-flex; padding:0; cursor:pointer; font:inherit; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid transparent; border-radius:50%; transition:.14s ease; }
.tfpr-count.is-empty { display:none; }
.tfpr-symbol { display:block; width:38px; height:38px; filter:brightness(1.07) saturate(1.03) drop-shadow(0 1px 1px rgba(0,0,0,.28)); }
.tfpr-count.is-mine { border-color:rgba(61,126,166,.62); background:rgba(47,101,135,.13); box-shadow:0 0 0 2px rgba(70,135,176,.11),0 1px 4px rgba(0,0,0,.17); }
.tfpr-badge { position:absolute; top:-6px; right:-6px; z-index:2; min-width:13px; height:13px; padding:0 2px; border:1px solid rgba(220,225,228,.9); border-radius:8px; background:linear-gradient(#747b80,#34393d); color:#fff; font:bold 9px/12px Arial,sans-serif; text-align:center; text-shadow:0 -1px 0 #000; box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 1px 3px rgba(0,0,0,.45); }
.tfpr-count.is-mine .tfpr-badge { background:linear-gradient(#5e9bc0,#2e6384); }
.tfpr-summary-wrap { clear:both; margin:8px 0 2px; padding-top:6px; border-top:1px solid rgba(80,80,80,.13); }
.tfpr-action-wrap.is-saving .tfpr-toolbar-button { opacity:.55; cursor:wait; }
@keyframes tfpr-pop { from { opacity:0; transform:translateY(-4px) scale(.96); } to { opacity:1; transform:none; } }
@media (max-width:700px) {
    .tfpr-picker.tfpr-picker-mobile {
        position:fixed;
        z-index:100000;
        left:50%;
        right:auto;
        top:auto;
        bottom:max(14px, env(safe-area-inset-bottom));
        width:calc(100vw - 20px);
        max-width:448px;
        box-sizing:border-box;
        justify-content:center;
        gap:2px;
        padding:7px 5px;
        transform:translateX(-50%);
    }
    .tfpr-picker.tfpr-picker-mobile::before { display:none; }
    .tfpr-picker.tfpr-picker-mobile.is-open { animation:tfpr-mobile-pop .14s ease-out; }
    .tfpr-picker.tfpr-picker-mobile .tfpr-choice {
        width:calc((100vw - 56px) / 7);
        max-width:58px;
        min-width:42px;
        height:54px;
        flex:0 1 58px;
    }
    .tfpr-picker.tfpr-picker-mobile .tfpr-choice .tfpr-icon {
        width:min(48px, calc((100vw - 84px) / 7));
        height:min(48px, calc((100vw - 84px) / 7));
    }
    .tfpr-choice-label { display:none; }
    .tfpr-action-wrap { width:100%; box-sizing:border-box; }
    .tfpr-action-wrap .tfpr-toolbar-button {
        display:flex;
        width:100%;
        min-width:0;
        height:auto;
        padding:6px 8px;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
        align-items:center;
        justify-content:flex-end;
        gap:7px;
        text-align:right;
        white-space:nowrap;
    }
    .tfpr-action-wrap .tfpr-menu-label { display:inline; order:1; }
    .tfpr-action-wrap .tfpr-toolbar-symbol { width:17px; height:17px; flex:0 0 17px; order:2; }
}
@keyframes tfpr-mobile-pop {
    from { opacity:0; transform:translate(-50%, 8px) scale(.97); }
    to { opacity:1; transform:translate(-50%, 0) scale(1); }
}
@media (prefers-reduced-motion:reduce) { .tfpr-picker.is-open,.tfpr-toolbar-symbol,.tfpr-choice,.tfpr-choice .tfpr-icon,.tfpr-count{animation:none;transition:none} }

.tfpr-count:hover,.tfpr-count:focus { transform:translateY(-1px); border-color:rgba(90,130,155,.45); background:rgba(70,105,125,.08); outline:none; }
.tfpr-reactor-popover { display:block; width:max-content; max-width:min(360px,calc(100vw - 40px)); margin-top:6px; padding:7px 10px; border:1px solid #6d7479; border-radius:6px; background:linear-gradient(145deg,#3f454a,#1b1f22); color:#f2f2f2; font-size:11px; line-height:1.4; box-shadow:0 4px 12px rgba(0,0,0,.28); }
.tfpr-reactor-popover[hidden] { display:none!important; }
