/* Cross-device workspace polish: iPad, mobile, Manager, Party Hub and feedback threads. */
.compare-party-picker{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(340px,1.25fr);gap:16px;align-items:end;padding:14px;border:1px solid color-mix(in srgb,var(--st-cyan) 34%,var(--st-border));border-radius:14px;background:linear-gradient(120deg,color-mix(in srgb,var(--st-cyan) 8%,var(--st-surface-2)),color-mix(in srgb,var(--st-purple) 7%,var(--st-surface-2)))}
.compare-party-picker>div:first-child{display:grid;gap:4px}.compare-party-picker small{color:var(--st-muted);line-height:1.45}.compare-party-picker .compare-preset-row{margin:0}
.compare-matrix-toolbar{grid-template-columns:minmax(220px,1fr) minmax(170px,.42fr) minmax(190px,.46fr)!important}
.compare-season-bar{position:sticky;left:0;z-index:3;grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:12px 16px;border-block:1px solid color-mix(in srgb,var(--st-cyan) 45%,var(--st-border));background:linear-gradient(105deg,color-mix(in srgb,var(--st-cyan) 17%,var(--st-surface)),color-mix(in srgb,var(--st-purple) 12%,var(--st-surface)));box-shadow:0 8px 18px rgba(0,0,0,.14)}
.compare-season-bar span{color:var(--st-cyan);font-size:.6rem;font-weight:950;letter-spacing:.12em}.compare-season-bar strong{font-family:Georgia,"Palatino Linotype",serif;font-size:1.08rem;color:var(--st-heading,var(--st-text))}

.party-hub-tabs{position:sticky;top:8px;z-index:12;display:flex;gap:7px;overflow-x:auto;margin:0 0 14px;padding:7px;border:1px solid var(--st-border);border-radius:14px;background:color-mix(in srgb,var(--st-bg) 90%,transparent);backdrop-filter:blur(16px);scrollbar-width:thin}
.party-hub-tabs button,.party-hub-tabs a{flex:0 0 auto;min-height:42px;padding:9px 13px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--st-muted);font:850 .72rem/1 Inter,system-ui,sans-serif;text-decoration:none;cursor:pointer}
.party-hub-tabs button.active{border-color:color-mix(in srgb,var(--st-cyan) 52%,var(--st-border));background:color-mix(in srgb,var(--st-cyan) 10%,var(--st-surface-2));color:var(--st-text)}
.party-hub-tab-hidden{display:none!important}

.profile-sprite-picker{position:relative;min-block-size:220px!important;max-block-size:min(52dvh,520px)!important;overflow-y:scroll!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;overscroll-behavior-y:auto!important;contain:layout!important;scrollbar-gutter:stable}
.profile-sprite-picker .profile-sprite-choice{touch-action:manipulation}

.feedback-ticket{overflow:hidden;padding:0!important;border:1px solid var(--st-border)!important;border-radius:16px;background:color-mix(in srgb,var(--st-surface) 94%,transparent);box-shadow:0 10px 28px rgba(0,0,0,.12)}
.feedback-ticket>.feedback-ticket-head,.feedback-ticket>.feedback-original,.feedback-ticket>.feedback-reply,.feedback-ticket>.admin-feedback-control{margin-inline:15px}.feedback-ticket>.feedback-ticket-head{padding-top:15px}
.feedback-thread-toggle{margin:0 15px 14px;background:color-mix(in srgb,var(--st-cyan) 10%,var(--st-surface-2))!important;color:var(--st-cyan)!important}
.feedback-thread{display:grid;gap:9px;padding:14px 15px 15px;border-top:1px solid var(--st-border);background:color-mix(in srgb,var(--st-bg) 32%,var(--st-surface-2))}
.feedback-thread-list{display:grid;gap:9px}
.feedback-thread[hidden]{display:none}.feedback-message-bubble{display:grid;gap:4px;width:min(88%,680px);padding:10px 12px;border:1px solid var(--st-border);border-radius:14px 14px 14px 4px;background:var(--st-surface);color:var(--st-text)}
.feedback-message-bubble.mine{justify-self:end;border-radius:14px 14px 4px 14px;border-color:color-mix(in srgb,var(--st-cyan) 52%,var(--st-border));background:color-mix(in srgb,var(--st-cyan) 12%,var(--st-surface))}.feedback-message-bubble.original-poster{border-color:color-mix(in srgb,var(--st-cyan) 62%,var(--st-border));background:color-mix(in srgb,var(--st-cyan) 15%,var(--st-surface));box-shadow:inset 4px 0 0 var(--st-cyan)}.feedback-message-bubble.staff{border-color:color-mix(in srgb,var(--st-purple) 68%,var(--st-border));background:color-mix(in srgb,var(--st-purple) 16%,var(--st-surface));box-shadow:inset 4px 0 0 var(--st-purple)}
.feedback-message-bubble.suggestion{box-shadow:inset 4px 0 0 var(--st-gold)}.feedback-message-bubble header{display:flex;justify-content:space-between;gap:8px}.feedback-message-bubble header span{font-size:.6rem;font-weight:950;text-transform:uppercase;color:var(--st-cyan)}.feedback-message-bubble p{margin:0;white-space:pre-wrap;line-height:1.48}.feedback-message-bubble footer{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--st-muted);font-size:.6rem}
.feedback-thread-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.feedback-thread-compose label{display:grid;gap:5px}.feedback-thread-compose textarea{min-height:74px;resize:vertical}.feedback-thread-compose .feedback-comment-type{grid-column:1/-1;display:flex;align-items:center;gap:8px;color:var(--st-muted);font-size:.7rem}.feedback-thread-compose .feedback-send-message{background:linear-gradient(135deg,var(--st-cyan),color-mix(in srgb,var(--st-purple) 55%,var(--st-cyan)))!important;color:#07131e!important}
.feedback-similar{display:grid;gap:6px;margin-top:8px}.feedback-similar article{padding:8px 10px;border:1px solid color-mix(in srgb,var(--st-gold) 38%,var(--st-border));border-radius:10px;background:color-mix(in srgb,var(--st-gold) 7%,var(--st-surface-2));font-size:.7rem}.feedback-similar strong{display:block}.feedback-similar small{color:var(--st-muted)}
.feedback-badge.merged{border-color:color-mix(in srgb,var(--st-purple) 60%,var(--st-border));background:color-mix(in srgb,var(--st-purple) 12%,var(--st-surface-2));color:var(--st-text)}
.feedback-merge-note{margin:0 15px 12px;padding:10px 12px;border-left:4px solid var(--st-purple);border-radius:10px;background:color-mix(in srgb,var(--st-purple) 9%,var(--st-surface-2))}.feedback-merge-note p{margin:4px 0 0}
.admin-feedback-merge{grid-column:1/-1;padding:10px;border:1px solid color-mix(in srgb,var(--st-purple) 42%,var(--st-border));border-radius:12px;background:color-mix(in srgb,var(--st-purple) 7%,var(--st-surface-2))}.admin-feedback-merge>summary{cursor:pointer;font-weight:900;color:var(--st-text)}.admin-feedback-merge>p{color:var(--st-muted);font-size:.72rem;line-height:1.45}.admin-feedback-merge>label{display:grid;gap:5px;margin-bottom:8px}.feedback-merge-results{display:grid;gap:7px;margin-top:8px}.feedback-merge-results article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid var(--st-border);border-radius:10px;background:var(--st-surface)}.feedback-merge-results strong,.feedback-merge-results small{display:block}.feedback-merge-results small{margin-top:3px;color:var(--st-muted)}

.admin-catalogue-seasons{display:grid;gap:12px}.admin-catalogue-season{overflow:clip;border:1px solid var(--st-border);border-radius:16px;background:var(--st-surface-2)}.admin-catalogue-season>summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;min-height:76px;padding:14px 16px;list-style:none;cursor:pointer}.admin-catalogue-season>summary::-webkit-details-marker{display:none}.admin-catalogue-season>summary>span:first-child{display:grid;gap:4px}.admin-catalogue-season>summary>span:first-child>small{color:var(--st-cyan);font-size:.58rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.admin-catalogue-season>summary strong{font-family:Georgia,"Palatino Linotype",serif;font-size:1.1rem}.admin-season-count{display:flex;align-items:center;gap:10px;color:var(--st-muted);font-size:.68rem}.admin-season-count b{font-size:1rem;transition:transform .18s ease}.admin-catalogue-season[open] .admin-season-count b{transform:rotate(180deg)}.admin-catalogue-season>div{display:grid;gap:9px;padding:0 10px 10px}

/* Crown Archivist: the chooser uses the full width instead of leaving a dead first column. */
/* These were child (>) selectors, but social-v2.js renders the head/picker/actions
   inside .profile-ribbon-controls, so none of them ever matched and the picker was
   sized only by social-v2.css. Descendant selectors match the real DOM. */
.profile-v2-ribbon .profile-sprite-picker-head,.profile-v2-ribbon .profile-sprite-picker,.profile-v2-ribbon .profile-sprite-actions{grid-column:1/-1!important;width:100%;min-width:0}.profile-v2-ribbon .profile-sprite-picker{min-block-size:180px!important;max-block-size:min(48dvh,480px)!important}.profile-v2-ribbon:has(.profile-sprite-picker){align-items:start}

/* Stabilize header geometry and reserve one predictable quote row. */
.top{align-content:start!important}.top .actions.console-launcher-actions{align-self:start!important}.sprite-banter{min-height:58px;top:var(--sprite-banter-top,118px)!important}.sprite-banter q{min-height:2.6em;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

@media(min-width:901px) and (max-width:1180px){.sprite-banter{display:none!important}.top .actions.console-launcher-actions{margin-top:-2px!important}.content{width:min(100% - 28px,1320px)!important}}
@media(max-width:1024px){.compare-party-picker{grid-template-columns:1fr}.compare-save-row{grid-template-columns:minmax(220px,1fr) auto!important}.compare-save-row label:nth-of-type(2){grid-column:1}.compare-matrix-toolbar{grid-template-columns:1fr 1fr!important}.compare-matrix-toolbar label:first-child{grid-column:1/-1}.feedback-layout{grid-template-columns:1fr!important}.admin-module-grid{grid-template-columns:repeat(2,minmax(240px,1fr))!important}}
@media(max-width:760px){.compare-matrix-toolbar{grid-template-columns:1fr!important}.compare-matrix-toolbar label:first-child{grid-column:auto}.compare-save-row{grid-template-columns:1fr!important}.compare-season-bar{min-width:100%;align-items:flex-start;flex-direction:column;gap:3px}.feedback-thread-compose{grid-template-columns:1fr}.feedback-thread-compose .btn{width:100%}.feedback-message-bubble{width:94%}.feedback-merge-results article{grid-template-columns:1fr}.feedback-merge-results .btn{width:100%}.admin-module-grid{grid-template-columns:1fr!important}.party-hub-tabs{top:4px}}
@media(max-width:620px){.top{position:relative!important}.content{padding-top:12px!important}.page>.hero h2,.page .hero>h2{font-size:clamp(1.8rem,10vw,2.65rem)!important}.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.toolbar{grid-template-columns:1fr!important}.toolbar>*{grid-column:auto!important}.profile-sprite-picker{max-block-size:52dvh!important}.feedback-ticket>.feedback-ticket-head,.feedback-ticket>.feedback-original,.feedback-ticket>.feedback-reply,.feedback-ticket>.admin-feedback-control{margin-inline:10px}.admin-catalogue-season>summary{grid-template-columns:1fr;gap:6px}.admin-season-count{justify-content:space-between}}
@media(max-width:430px){.variantgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.variant-wrap>.variant{min-height:132px!important}.compare-player-results button{width:100%}.party-hub-tabs button,.party-hub-tabs a{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.party-hub-tabs{scroll-behavior:auto}.feedback-ticket{scroll-behavior:auto}}
