/* Local feedback never changes button dimensions. */
.copy-feedback{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.copy-feedback-icons{position:relative;display:inline-block;flex:0 0 20px;width:20px;height:20px}.copy-feedback-icons svg{position:absolute;inset:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:opacity .18s ease,transform .22s ease}.copy-feedback-icons svg+svg{opacity:0;transform:scale(.65)}.copy-done .copy-feedback-icons svg:first-child{opacity:0;transform:scale(.75)}.copy-done .copy-feedback-icons svg+svg{opacity:1;transform:scale(1);color:var(--accent,#ff922e)}
.favorite-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.favorite-heart{flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;transition:color .25s,transform .25s}.favorite-heart-fill{fill:var(--accent,#ff922e);stroke:none;clip-path:inset(100% 0 0 0);transition:clip-path .3s ease}.favorite-toggle[aria-pressed=true] .favorite-heart{color:var(--accent,#ff922e);transform:scale(1.06)}.favorite-toggle[aria-pressed=true] .favorite-heart-fill{clip-path:inset(0 0 0 0)}.favorite-label{min-width:4.2em;text-align:left}.game-heart:before{content:none!important}.game-heart .favorite-label{display:none}.game-heart{min-height:38px}
button,a,input,select,textarea{transition:background-color .16s,color .16s,border-color .16s,box-shadow .16s}button:active:not(:disabled){transform:translateY(1px)}.quote-details[open] .quote-details-body,.own-quotes-panel[open]>div,.achievement-panel[open]>div{animation:soft-reveal .18s ease-out}.team-nav a{transition:background-color .18s,box-shadow .18s}.team-nav a:hover{background:var(--accent-soft,#ff902d15)}.favorite-record{transition:border-color .22s,background-color .22s}.favorite-record.is-showcase{background:var(--accent-soft,#ff902d10)}@keyframes soft-reveal{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}
.game-continuous{display:flex;gap:.55rem;align-items:center;margin:1.6rem 0 .4rem;color:var(--muted,#bbb);font-size:.85rem;min-height:44px}.game-continuous input{width:18px;height:18px;accent-color:var(--accent,#ff922e)}#profile-tabs[hidden],#profile-main>[hidden]{display:none!important}.profile-public-link{font-size:.9rem}.rating-game .game-quote blockquote{min-height:0}
@media(max-width:600px){.rating-game h1{font-size:1.45rem;margin-block:.5rem}.rating-game .game-session{margin:.7rem 0}.rating-game #game-status{font-size:.8rem;min-height:2.7em;line-height:1.35}.rating-game .game-quote{min-height:190px;max-height:none;margin:.7rem 0;gap:.1rem}.rating-game .game-quote blockquote{overflow:visible;font-size:1.2rem;margin:.7rem 0}.rating-game .game-question{margin:.6rem 0}.rating-game .game-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.rating-game .game-choices button{min-height:56px;width:100%;padding:.75rem .5rem;font-size:1.15rem;touch-action:manipulation}.rating-game .game-edit-actions:empty{display:none}.rating-game .game-bottom{margin:.5rem 0}.game-continuous{margin-top:1.3rem}}
@media(prefers-reduced-motion:reduce){.copy-feedback-icons svg,.favorite-heart,.favorite-heart-fill,button,a,input,select,textarea,.favorite-record{transition:none!important}.quote-details[open] .quote-details-body,.own-quotes-panel[open]>div,.achievement-panel[open]>div{animation:none!important}button:active:not(:disabled){transform:none}}

/* Keep the second rating row accessible on shorter phones. */
@media(max-width:600px) and (max-height:740px){.rating-game{margin-top:0}.rating-game .game-session .game-xp strong{font-size:.75rem}.rating-game .game-question{margin:.3rem 0}.rating-game #game-status{min-height:1.35em;margin:.4rem 0}.rating-game .game-session{margin:.5rem 0}.rating-game .game-quote{margin:.5rem 0}}

/* v5.5.2: context must never be clipped by the mobile card height. */
.rating-game #game-category{flex:none;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.5}
.rating-game .game-quote>.card-top,.rating-game #game-edit-actions{flex-shrink:0}
@media(max-width:600px){.rating-game .game-quote{max-height:none}.rating-game .game-quote blockquote{flex:none;min-height:0;max-height:none;overflow:visible;padding-block:.1em}}

.privacy-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;padding:1.3rem 1rem;margin:1rem 0 5rem}.privacy-content{max-width:850px;margin:2rem auto;line-height:1.65}.privacy-content h2{margin-top:2rem}.privacy-content label{display:block;margin:1rem 0}.privacy-content input[type=checkbox]{width:18px;height:18px;vertical-align:middle;accent-color:var(--accent)}.privacy-content button{margin:.4rem .5rem .4rem 0;min-height:44px}.privacy-content textarea{display:block;box-sizing:border-box;width:100%;min-height:90px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:.7rem;font:inherit}#einstellungen{scroll-margin-top:1rem}

/* v5.7: privacy belongs to the existing team navigation. */
.privacy-admin {display:grid;gap:1rem;min-width:0}
.privacy-admin>p:empty {display:none}
.privacy-admin label,.privacy-delete-dialog label {display:block;margin:.85rem 0}
.privacy-admin textarea,.privacy-admin input:not([type=checkbox]),.privacy-delete-dialog input:not([type=checkbox]) {display:block;width:100%;box-sizing:border-box;margin-top:.4rem}
.privacy-request {margin-block:1rem;scroll-margin-top:6rem}
.privacy-request>a,.privacy-request>button {display:inline-block;margin:0 .65rem .5rem 0}
.privacy-matches {display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.privacy-delete-dialog {max-width:42rem;width:calc(100% - 2rem);max-height:85dvh;overflow:auto;box-sizing:border-box}
.privacy-delete-dialog p {line-height:1.5}
.privacy-admin label:has(input[type=checkbox]),.privacy-delete-dialog label:has(input[type=checkbox]) {display:flex;align-items:flex-start;gap:.6rem;line-height:1.5}
.privacy-admin input[type=checkbox],.privacy-delete-dialog input[type=checkbox] {width:1.1rem;height:1.1rem;flex:0 0 auto;margin:.2rem 0 0;accent-color:#ff922f}

/* v5.7.1: personal privacy controls, alongside the other profile tabs. */
#profile-privacy-page #privacy-controls>h2:not(:first-of-type) {margin-top:2rem;padding-top:1.3rem;border-top:1px solid var(--border,#444)}
#profile-privacy-page #privacy-controls>p:empty {display:none}
#profile-privacy-page #privacy-controls>label {display:flex;align-items:flex-start;gap:.7rem;line-height:1.5}
#profile-privacy-page input[type=checkbox] {flex:0 0 auto;width:1.2rem;height:1.2rem;margin:.2rem 0 0;accent-color:#ff922f}
#profile-privacy-page button {margin:0 .5rem .6rem 0;max-width:100%;white-space:normal}
