/* Shared presentation. Existing tokens supply web/iOS colours. */
.ma-social,.ma-social-body,.ma-social-form,.ma-social-list{display:grid;gap:16px;min-width:0;}
.ma-social-home{gap:12px;}
.ma-social-home .ma-social-list{gap:10px;}
.ma-social h3,.ma-social p{margin:0;}
.ma-social-self{display:flex;align-items:center;gap:14px;min-width:0;padding:12px 14px;border:1px solid var(--ma-border);border-radius:18px;background:var(--ma-surface-strong);}
.ma-social-code-name{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding-block:8px;}
.ma-social-code-name>strong{min-width:0;overflow-wrap:anywhere;}
.ma-social-code-name>.ma-button{flex:none;}
.ma-social-avatar{flex:0 0 42px;width:42px;height:42px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",var(--ma-font-jp);}
.ma-social-identity{display:grid;gap:4px;min-width:0;flex:1;text-align:left;overflow-wrap:anywhere;}
.ma-social-name{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;}
.ma-social-identity strong{color:var(--ma-text);font-size:.96rem;line-height:1.4;}
.ma-social-identity small,.ma-social-note{color:var(--ma-muted);font-size:.83rem;line-height:1.6;}
.ma-social-tools,.ma-social-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.ma-social-tools>.ma-button{flex:1 1 auto;}
.ma-social-tools>.ma-social-filter{flex:1 1 150px;}
.ma-social-tools>.ma-social-icon-button{display:grid;place-items:center;flex:0 0 44px;width:44px;padding:10px;}
.ma-social-periods{display:flex;flex:1;gap:4px;min-width:0;}
.ma-social-periods .ma-button{flex:1;padding:8px;color:var(--ma-muted);border-color:transparent;}
.ma-social-periods [aria-pressed="true"]{color:var(--ma-text-strong);background:var(--ma-control-active);border-color:var(--ma-border);}
.ma-social-home-tools{display:grid;grid-template-columns:minmax(120px,1fr) auto auto 44px;align-items:center;}
.ma-social-home-tools[data-staff="true"]{grid-template-columns:minmax(120px,1fr) auto auto 44px 44px;}
.ma-social-home-tools>.ma-button:not(.ma-social-icon-button){padding-inline:12px;}

.ma-social-filter{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;color:var(--ma-muted);font-size:.8rem;}
.ma-social select,.ma-social textarea,.ma-social input:not([type="checkbox"]){box-sizing:border-box;min-height:44px;min-width:0;border:1px solid var(--ma-border);border-radius:12px;background:var(--ma-control-bg);color:var(--ma-text);padding:10px 12px;font:inherit;}
.ma-social select{width:100%;min-width:0;flex:1 1 120px;}
.ma-social-field{display:grid;gap:8px;color:var(--ma-text);font-weight:700;}
.ma-social-field input,.ma-social-field select,.ma-social-field textarea{width:100%;font-weight:400;}
.ma-social .ma-button{min-height:44px;white-space:normal;overflow-wrap:anywhere;}
.ma-social-home>.ma-atlas-tabs .ma-button{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 6px;padding:8px;overflow-wrap:normal;}
.ma-social-home>.ma-atlas-tabs .ma-social-badge{margin:0;}
.ma-social-status{padding:12px 14px;border-radius:12px;background:var(--ma-surface-strong);color:var(--ma-text);font-size:.85rem;line-height:1.5;}
.ma-social-status[data-tone="error"]{border:1px solid var(--ma-danger);}
.ma-social-empty{padding:24px 16px;border:1px dashed var(--ma-border);border-radius:18px;color:var(--ma-muted);text-align:center;line-height:1.6;}
.ma-social-empty h3{color:var(--ma-text);margin-bottom:8px;}
.ma-social-empty .ma-button{margin-top:12px;}
.ma-social-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 10px;border:1px solid var(--ma-border);border-radius:16px;background:var(--ma-card);}
.ma-social-row[data-self="true"]{border-color:var(--ma-atlas);}
.ma-social-person{display:flex;flex:1;gap:12px;align-items:center;min-width:120px;border:0;background:none;padding:4px;color:inherit;font:inherit;text-align:left;}
button.ma-social-person{cursor:pointer;}
.ma-social-person:focus-visible,.ma-social :is(input,select,textarea):focus-visible{outline:3px solid var(--ma-focus-ring);outline-offset:3px;}
.ma-social-rank{width:24px;text-align:center;font-size:.94rem;color:var(--ma-muted);font-variant-numeric:tabular-nums;}
.ma-social-score{font-size:.8rem;line-height:1.4;max-width:110px;text-align:right;color:var(--ma-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.ma-social-row-actions{flex-basis:100%;justify-content:flex-end;}
.ma-social-avatar-picker{border:0;padding:0;margin:0;min-width:0;}
.ma-social-avatar-picker legend{margin-bottom:10px;font-weight:700;}
.ma-social-avatar-options{display:grid;gap:12px;min-width:0;margin-top:12px;}
.ma-social-avatar-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.ma-social-avatar-modes .ma-button{padding:8px;font-size:.8rem;}
.ma-social-avatar-modes [aria-pressed="true"]{border-color:var(--ma-atlas);background:var(--ma-control-active);}
.ma-social-photo-choice{display:flex;align-items:center;gap:14px;}
.ma-social-consent{display:flex;gap:10px;align-items:center;font-size:.86rem;line-height:1.6;}
.ma-social-consent input{width:22px;height:22px;flex-shrink:0;}
.ma-social-code{width:100%;text-align:center;font-family:ui-monospace,monospace!important;font-size:.91rem!important;}
.ma-social-preview{display:grid;gap:12px;}
.ma-social-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.ma-social-stats>div{display:grid;gap:6px;padding:16px;border:1px solid var(--ma-border);border-radius:16px;background:var(--ma-card);}
.ma-social-stats span{font-size:.8rem;color:var(--ma-muted);}
.ma-social-stats strong{font-size:1.1rem;color:var(--ma-text);overflow-wrap:anywhere;}
.ma-weekly-summary{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--ma-border);border-radius:16px;background:var(--ma-card);min-width:0;}
.ma-weekly-summary :is(h3,p){margin:0;}
.ma-weekly-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;}
.ma-weekly-heading h3{font-size:1rem;}
.ma-weekly-heading .ma-social-note{font-variant-numeric:tabular-nums;}
.ma-weekly-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.ma-weekly-stats>div{display:grid;gap:2px;}
.ma-weekly-stats strong{font-size:1.4rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.ma-weekly-stats span{font-size:.8rem;color:var(--ma-muted);}
.ma-weekly-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;border-top:1px solid var(--ma-border);}
.ma-weekly-rules{min-width:0;font-size:.8rem;line-height:1.5;overflow-wrap:anywhere;}
.ma-weekly-rules summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.ma-weekly-rules summary::-webkit-details-marker{display:none;}
.ma-weekly-rules summary::after{content:'';width:6px;height:6px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);}
.ma-weekly-rules[open]{grid-column:1/-1;}
.ma-weekly-rules[open] summary::after{transform:rotate(225deg);}
.ma-weekly-rules> :not(summary){margin:0 0 10px;}
.ma-weekly-rules summary:focus-visible{outline:3px solid var(--ma-focus-ring);outline-offset:2px;border-radius:6px;}
@media(max-width:380px){.ma-social-self{padding:12px;gap:10px;}.ma-social-row{gap:8px;}.ma-social-score{flex-basis:100%;max-width:none;text-align:left;padding-left:8px;}}

.ma-social-request-badge,.ma-social-badge{border:1px solid var(--ma-atlas);border-radius:12px;background:var(--ma-control-active);color:var(--ma-text-strong);font:750 .75rem/1.3 var(--ma-font-ui);}
.ma-social-request-badge{min-height:44px;padding:8px 10px;flex:none;cursor:pointer;}
.ma-social-badge{padding:2px 7px;margin-left:6px;}
.ma-social-filter[data-pending="true"] select{border-color:var(--ma-atlas);}
.ma-social-name-notice{display:grid;gap:10px;border:1px solid var(--ma-warning);border-radius:14px;padding:12px;color:var(--ma-text);font-size:.85rem;}

.ma-social-report{display:grid;gap:12px;padding:16px;border:1px solid var(--ma-border);border-radius:16px;overflow-wrap:anywhere;}
.ma-social-field textarea{resize:vertical;min-height:96px;}
.ma-social-moderation-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.ma-social-moderation-tabs .ma-button{padding:10px 6px;font-size:.83rem;}
.ma-social-staff-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 14px;border:1px solid var(--ma-border);border-radius:16px;background:var(--ma-card);}
.ma-social-staff-row>span{flex:1;min-width:0;overflow-wrap:anywhere;}
.ma-social-staff-row .ma-social-person{padding:0;min-height:44px;}
@media(max-width:560px){.ma-social-home-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;}.ma-social-home-tools[data-staff="true"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px 44px;}.ma-social-home-tools>.ma-social-filter{grid-column:1/-1;}.ma-social-moderation-tabs{grid-template-columns:repeat(2,minmax(0,1fr));}}
html[data-ma-large-text] .ma-social-home-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;}
html[data-ma-large-text] .ma-social-home-tools[data-staff="true"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px 44px;}
html[data-ma-large-text] .ma-social-home-tools>.ma-social-filter{grid-column:1/-1;}
html[data-ma-large-text] .ma-social-moderation-tabs{grid-template-columns:repeat(2,minmax(0,1fr));}
.ma-social-profile[data-ma-profile-theme]{padding:18px;border-radius:24px;background:var(--ma-app-bg);color:var(--ma-text);}
/* Full profiles share the existing character artwork; private copy comes only
   from the accepted-friend projection. */
.ma-social-profile-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:center;}
.ma-social-profile-content--visitor{grid-template-columns:minmax(0,1fr);}
.ma-social-character{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:0;min-height:260px;padding:12px 4px;background:radial-gradient(ellipse at 30% 75%,color-mix(in srgb,var(--ma-atlas) 12%,transparent),transparent 65%);}
.ma-social-character__figure{display:grid;grid-template-columns:197fr 123fr;width:100%;max-width:210px;min-width:0;gap:6px 0;}
.ma-social-character__figure[data-companion]{max-width:280px;}
.ma-social-character__figure svg{display:block;grid-column:1/-1;width:100%;height:auto;}
.ma-social-character__speech{position:relative;max-width:280px;margin:0;padding:14px 18px;border:1px solid var(--ma-border);border-radius:18px;background:var(--ma-card-2);color:var(--ma-text-strong);font-size:.88rem;line-height:1.55;overflow-wrap:anywhere;}
.ma-social-character__speech::after{content:'';position:absolute;left:40%;bottom:-7px;width:12px;height:12px;background:var(--ma-card-2);border-right:1px solid var(--ma-border);border-bottom:1px solid var(--ma-border);transform:rotate(45deg);}
.ma-social-pet-name{grid-column:2;min-width:0;max-width:100%;overflow-wrap:anywhere;text-align:center;font-size:.8rem;font-weight:700;color:var(--ma-text-strong);}
.ma-social-privacy{margin-top:24px;color:var(--ma-muted);font-size:.8rem;}
.ma-social-privacy summary{cursor:pointer;min-height:44px;display:flex;align-items:center;}
.ma-social-character--visitor{min-height:330px;}
.ma-social-character--visitor .ma-social-character__figure{max-width:230px;}
.ma-social-character--visitor .ma-social-character__figure[data-companion]{max-width:320px;}
@media(max-width:680px){.ma-social-profile-content{grid-template-columns:minmax(0,1fr);gap:8px;}.ma-social-character__speech{padding:13px;font-size:.82rem;}}
