/* Additions to the existing schlock.su comment form. */
.sch-comment-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:10px 0; }
.sch-comment-tools button,.sch-comment-login a,.sch-comment-login button { padding:7px 12px; border:1px solid var(--sch-line,#f3cad8); border-radius:7px; background:var(--sch-paper,#fff); color:var(--sch-ink,#252238); font:inherit; cursor:pointer; }
.sch-comment-tools button[aria-expanded=true] { background:var(--sch-soft,#fff3f7); }
.sch-media-picker { max-width:100%; max-height:300px; overflow:auto; overscroll-behavior:contain; padding:12px; margin:10px 0 16px; border:1px solid var(--sch-line,#f3cad8); border-radius:9px; background:var(--sch-paper,#fff); }
.sch-media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(86px,1fr)); gap:8px; }
.sch-media-grid--emoji { grid-template-columns:repeat(auto-fill,minmax(44px,1fr)); }
.sch-media-group { grid-column:1/-1; padding:4px 0; font-size:13px; }
.sch-media-choice { display:grid; place-items:center; min-height:86px; padding:3px; background:transparent; border:1px solid transparent; border-radius:7px; cursor:pointer; }
.sch-media-grid--emoji .sch-media-choice { min-height:44px; }
.sch-media-choice:hover,.sch-media-choice:focus-visible { background:var(--sch-soft,#fff3f7); border-color:var(--sch-line,#f3cad8); }
.sch-media-choice img { object-fit:contain; max-width:100%; }
.sch-comment-emoji { display:inline-block; width:28px; height:28px; vertical-align:middle; margin:0 2px; }
.sch-comment-sticker { display:block; width:auto; height:auto; max-width:min(190px,100%); max-height:190px; object-fit:contain; margin:10px 0; }
.sch-comment-selected { display:flex; align-items:center; gap:12px; margin:10px 0; }
.sch-comment-selected[hidden] { display:none; }
.sch-selected-sticker { width:72px; height:72px; object-fit:contain; }
.sch-comment-login { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:14px 0; font-size:13px; }
.sch-comment-login:empty { display:none; }
.sch-comment-login a { display:inline-flex; align-items:center; gap:7px; text-decoration:none; }
.sch-comment-login svg { width:20px; height:20px; }
.sch-comment-form input[readonly] { background:var(--sch-soft,#fff3f7); }
@media(max-width:480px) { .sch-media-picker { max-height:250px; } .sch-comment-tools button { min-height:40px; } }

.sch-media-choice { position:relative; }
.sch-media-choice.is-loading img { opacity:0; }
.sch-media-choice.is-loading::before { content:""; position:absolute; width:18px; height:18px; border:2px solid #f3cad8; border-top-color:#cf4d7d; border-radius:50%; animation:sch-media-spin .8s linear infinite; }
.sch-media-choice.is-error span { font-size:10px; color:#78616a; text-align:center; }
@keyframes sch-media-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .sch-media-choice.is-loading::before { animation:none; } }

/* Emotion-driven motion; original face pixels are retained. */
.sch-sticker-motion {transform-origin:50% 75%;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-play-state:paused;}
.sch-sticker-motion.is-moving.is-in-view {animation-play-state:running;}
.sch-sticker-motion[data-sch-motion="clap"] {animation-name:sch-react-clap;animation-duration:1.25s;}
@keyframes sch-react-clap {0%,100%{transform:translate(0,0) rotate(0) scale(1)}20%,40%,60%{transform:translateY(-2px) scale(.97,1.02)}30%,50%,70%{transform:translateY(1px) scale(1.025,.98)}}
.sch-sticker-motion[data-sch-motion="kiss"] {animation-name:sch-react-kiss;animation-duration:2.5s;}
@keyframes sch-react-kiss {0%,100%{transform:translate(0,0) rotate(0) scale(1)}30%{transform:translateX(-2px) rotate(-2deg)}50%{transform:translateX(5px) rotate(3deg)}70%{transform:translateX(1px)}}
.sch-sticker-motion[data-sch-motion="sad"] {animation-name:sch-react-sad;animation-duration:3.2s;}
@keyframes sch-react-sad {0%,100%{transform:translate(0,0) rotate(0) scale(1)}45%,65%{transform:translateY(4px) rotate(-3deg)}80%{transform:translateY(2px) rotate(-1deg)}}
.sch-sticker-motion[data-sch-motion="angry"] {animation-name:sch-react-angry;animation-duration:1.5s;}
@keyframes sch-react-angry {0%,100%{transform:translate(0,0) rotate(0) scale(1)}22%,34%,46%{transform:translateX(-3px) rotate(-1deg)}28%,40%,52%{transform:translateX(3px) rotate(1deg)}60%{transform:translateY(-2px)}}
.sch-sticker-motion[data-sch-motion="love"] {animation-name:sch-react-love;animation-duration:2.7s;}
@keyframes sch-react-love {0%,100%{transform:translate(0,0) rotate(0) scale(1)}25%{transform:rotate(-3deg) scale(1.02)}65%{transform:rotate(3deg) scale(1.035)}}
.sch-sticker-motion[data-sch-motion="chew"] {animation-name:sch-react-chew;animation-duration:1.8s;}
@keyframes sch-react-chew {0%,100%{transform:translate(0,0) rotate(0) scale(1)}20%,40%,60%{transform:translateY(1px) scaleY(.985)}30%,50%,70%{transform:translateY(-1px)}}
.sch-sticker-motion[data-sch-motion="celebrate"] {animation-name:sch-react-celebrate;animation-duration:1.9s;}
@keyframes sch-react-celebrate {0%,100%{transform:translate(0,0) rotate(0) scale(1)}20%{transform:translateY(-6px) rotate(-3deg)}40%{transform:translateY(1px)}60%{transform:translateY(-5px) rotate(3deg)}80%{transform:translateY(1px)}}
.sch-sticker-motion[data-sch-motion="hello"] {animation-name:sch-react-hello;animation-duration:2.3s;}
@keyframes sch-react-hello {0%,100%{transform:translate(0,0) rotate(0) scale(1)}20%,45%{transform:rotate(-4deg)}32%,57%{transform:rotate(4deg)}70%{transform:rotate(-1deg)}}
.sch-sticker-motion[data-sch-motion="laugh"] {animation-name:sch-react-laugh;animation-duration:1.6s;}
@keyframes sch-react-laugh {0%,100%{transform:translate(0,0) rotate(0) scale(1)}20%,40%,60%{transform:translateY(-3px) rotate(-1deg)}30%,50%,70%{transform:translateY(1px) rotate(1deg)}}
.sch-sticker-motion[data-sch-motion="sleep"] {animation-name:sch-react-sleep;animation-duration:3.8s;}
@keyframes sch-react-sleep {0%,100%{transform:translate(0,0) rotate(0) scale(1)}50%{transform:translateY(-1px) scale(1.015,1.025)}}
.sch-sticker-motion[data-sch-motion="shock"] {animation-name:sch-react-shock;animation-duration:2.8s;}
@keyframes sch-react-shock {0%,100%{transform:translate(0,0) rotate(0) scale(1)}12%{transform:translateY(-5px) scale(1.06)}25%{transform:translateY(2px) scale(.98)}38%{transform:translateY(-1px) scale(1.015)}65%{transform:translateY(0) scale(1)}}
.sch-sticker-motion[data-sch-motion="facepalm"] {animation-name:sch-react-facepalm;animation-duration:3s;}
@keyframes sch-react-facepalm {0%,100%{transform:translate(0,0) rotate(0) scale(1)}30%,55%{transform:translateY(3px) rotate(5deg)}70%{transform:translateY(1px) rotate(2deg)}}
.sch-sticker-motion[data-sch-motion="sob"] {animation-name:sch-react-sob;animation-duration:2.2s;}
@keyframes sch-react-sob {0%,100%{transform:translate(0,0) rotate(0) scale(1)}25%,45%{transform:translateY(2px) rotate(-1deg)}35%,55%{transform:translateY(-1px)}75%{transform:translateY(3px) rotate(-2deg)}}
.sch-sticker-motion[data-sch-motion="speak"] {animation-name:sch-react-speak;animation-duration:1.7s;}
@keyframes sch-react-speak {0%,100%{transform:translate(0,0) rotate(0) scale(1)}25%{transform:rotate(2deg) translateY(-1px)}40%{transform:rotate(-1deg)}60%{transform:rotate(1deg) translateY(-1px)}}
.sch-sticker-motion[data-sch-motion="playful"] {animation-name:sch-react-playful;animation-duration:2.4s;}
@keyframes sch-react-playful {0%,100%{transform:translate(0,0) rotate(0) scale(1)}25%{transform:rotate(-5deg)}55%{transform:rotate(5deg)}75%{transform:rotate(-2deg)}}
.sch-sticker-motion[data-sch-motion="eyeroll"] {animation-name:sch-react-eyeroll;animation-duration:3s;}
@keyframes sch-react-eyeroll {0%,100%{transform:translate(0,0) rotate(0) scale(1)}25%{transform:translateY(-2px) rotate(-4deg)}48%{transform:translateY(-2px) rotate(4deg)}70%{transform:translateY(1px)}}
.sch-sticker-motion[data-sch-motion="yawn"] {animation-name:sch-react-yawn;animation-duration:4s;}
@keyframes sch-react-yawn {0%,100%{transform:translate(0,0) rotate(0) scale(1)}35%{transform:translateY(-3px) scaleY(1.035)}55%{transform:translateY(-4px) rotate(-2deg) scaleY(1.04)}80%{transform:translateY(2px)}}
.sch-sticker-motion[data-sch-motion="tense"] {animation-name:sch-react-tense;animation-duration:2.5s;}
@keyframes sch-react-tense {0%,100%{transform:translate(0,0) rotate(0) scale(1)}25%,35%,45%{transform:translateX(-1px)}30%,40%,50%{transform:translateX(1px)}70%{transform:translateY(-1px)}}
.sch-sticker-motion[data-sch-motion="confused"] {animation-name:sch-react-confused;animation-duration:3.2s;}
@keyframes sch-react-confused {0%,100%{transform:translate(0,0) rotate(0) scale(1)}28%,40%{transform:rotate(-5deg)}65%,77%{transform:rotate(4deg)}}
.sch-sticker-motion[data-sch-motion="suspicious"] {animation-name:sch-react-suspicious;animation-duration:3.5s;}
@keyframes sch-react-suspicious {0%,100%{transform:translate(0,0) rotate(0) scale(1)}25%,40%{transform:translateX(-3px) rotate(-3deg)}65%,80%{transform:translateX(2px) rotate(2deg)}}
.sch-sticker-motion[data-sch-motion="smug"] {animation-name:sch-react-smug;animation-duration:3s;}
@keyframes sch-react-smug {0%,100%{transform:translate(0,0) rotate(0) scale(1)}30%,50%{transform:translateY(-2px) rotate(3deg)}75%{transform:rotate(1deg)}}
.sch-sticker-motion[data-sch-motion="dance"] {animation-name:sch-react-dance;animation-duration:1.8s;}
@keyframes sch-react-dance {0%,100%{transform:translate(0,0) rotate(0) scale(1)}20%{transform:translateX(-4px) translateY(-3px) rotate(-5deg)}40%{transform:translateX(1px) translateY(1px)}60%{transform:translateX(4px) translateY(-3px) rotate(5deg)}80%{transform:translateX(-1px) translateY(1px)}}
.sch-sticker-motion[data-sch-motion="point"] {animation-name:sch-react-point;animation-duration:2.1s;}
@keyframes sch-react-point {0%,100%{transform:translate(0,0) rotate(0) scale(1)}25%,50%{transform:translateX(3px) scale(1.035)}35%,60%{transform:translateX(0) scale(1)}}
.sch-sticker-motion[data-sch-motion="plead"] {animation-name:sch-react-plead;animation-duration:3.4s;}
@keyframes sch-react-plead {0%,100%{transform:translate(0,0) rotate(0) scale(1)}30%,60%{transform:translateY(-2px) rotate(-2deg)}45%{transform:translateY(1px) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.sch-sticker-motion{animation:none!important;}}

/* Social sign-in icons v2.1.1 */
.sch-comment-login .sch-login-caption { white-space:nowrap; }
.sch-comment-login a.sch-social-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; min-height:44px; padding:9px; border:1px solid var(--sch-line,#f3cad8); border-radius:9px; background:#fff; }
.sch-comment-login a.sch-social-icon svg { display:block; width:24px; height:24px; flex:none; }
.sch-comment-login a.sch-social-icon:hover { background:var(--sch-soft,#fff3f7); }
.sch-comment-login a.sch-social-icon:focus-visible { outline:2px solid var(--sch-coral,#f04f72); outline-offset:3px; }
.sch-comment-login .sch-login-guest { line-height:1.5; }
