/* Shared responsive member shell; admin.html never loads this file. */
body.asn-member-app { --asn-shell-width: 15rem; --asn-shell-bar: 4.4rem; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; min-width: 0; padding: var(--asn-shell-bar) 0 calc(5rem + env(safe-area-inset-bottom)); background: var(--asn-bg); color: var(--asn-text); }
body.asn-member-app .asn-legacy-nav { display: none !important; }
body.asn-member-app .asn-app-header { position: fixed; inset: 0 0 auto; z-index: 1100; height: var(--asn-shell-bar); display: flex; align-items: center; gap: 1rem; padding: .65rem max(1rem,env(safe-area-inset-right)) .65rem max(1rem,env(safe-area-inset-left)); background: var(--asn-surface); border-bottom: 1px solid var(--asn-border-soft); }
.asn-app-brand { display: flex; align-items: center; gap: .6rem; color: var(--asn-text-strong) !important; font-size: 1.05rem; font-weight: 750; text-decoration: none; line-height: 1.05; white-space: nowrap; }
.asn-brand-mark { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; color: #fff; background: var(--asn-accent); border-radius: .8rem .8rem .8rem .2rem; font-size: 1.9rem; font-family: Georgia, serif; }
.asn-brand-subtitle { display: block; font-size: .61rem; font-weight: 500; margin-top: .25rem; color: var(--asn-muted); }
body.asn-member-app .asn-current-group { min-width: 0; max-width: 25rem; margin-left: auto; border: 1px solid var(--asn-border-soft); border-radius: 999px; background: var(--asn-surface-alt); color: var(--asn-text-strong); padding: .6rem .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .8rem; cursor: pointer; }
.asn-support-menu { position: relative; }
.asn-support-menu summary { cursor: pointer; list-style: none; padding: .65rem .4rem; font-weight: 700; color: var(--asn-muted); }
.asn-support-menu summary::-webkit-details-marker { display: none; }
.asn-support-menu > div { position: absolute; right: 0; top: 100%; width: 13rem; padding: .4rem; border: 1px solid var(--asn-border-soft); border-radius: .9rem; background: var(--asn-surface); box-shadow: var(--asn-shadow-strong); }
.asn-support-menu a, .asn-support-menu button { display: block; width: 100%; padding: .75rem; border: 0; border-radius: .4rem; color: var(--asn-text) !important; background: transparent !important; font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.asn-support-menu [hidden] { display: none !important; }
.asn-support-menu a:hover, .asn-support-menu button:hover { background: var(--asn-surface-alt) !important; }
body.asn-member-app .asn-primary-nav { position: fixed; z-index: 1050; inset: auto 0 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 0; padding: .35rem .3rem calc(.35rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--asn-border-soft); background: var(--asn-surface) !important; box-shadow: 0 -4px 22px #00000008; }
body.asn-member-app .asn-primary-nav a { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem; min-height: 3.6rem; padding: .35rem .1rem; border-radius: .85rem; color: var(--asn-muted) !important; text-decoration: none; font-size: .65rem; font-weight: 600; }
.asn-primary-nav svg { width: 1.45rem; height: 1.45rem; flex: none; }
body.asn-member-app .asn-primary-nav a[aria-current] { color: var(--asn-accent) !important; background: var(--asn-surface-alt) !important; }
body.asn-member-app .asn-primary-nav a:hover { background: var(--asn-surface-muted) !important; }
body.asn-member-app :focus-visible { outline: 3px solid var(--asn-accent); outline-offset: 3px; }
.asn-skip { position: fixed; left: 1rem; top: -5rem; z-index: 10000; padding: .75rem; background: var(--asn-surface); color: var(--asn-accent); }
.asn-skip:focus { top: .5rem; }
body.asn-member-app > main, body.asn-member-app > .form-container { width: 100%; max-width: 68rem; margin: 0 auto; padding: 1.5rem max(1rem,env(safe-area-inset-right)) 2rem max(1rem,env(safe-area-inset-left)); min-width: 0; }
body.asn-member-app > footer { margin-top: auto; background: transparent !important; color: var(--asn-muted) !important; padding: 1rem; font-size: .75rem; }
body.asn-member-app .feed-shell { width: 100%; max-width: 60rem; margin-inline: auto; }
body.asn-member-app .feed-header { background: transparent; box-shadow: none; padding: .35rem 0 1.1rem; border: 0; }
body.asn-member-app .feed-title h1 { font-size: clamp(1.5rem,4vw,2rem); line-height: 1.2; letter-spacing: -.035em; }
body.asn-member-app .feed-title p { color: var(--asn-muted); line-height: 1.5; margin-top: .45rem; }
body.asn-member-app .project-list-container { display: flex; flex-direction: column; gap: .8rem; }
body.asn-member-app .project-item { padding: 1.2rem; border: 1px solid var(--asn-border-soft); border-radius: 1rem; box-shadow: none; background: var(--asn-surface); min-width: 0; overflow-wrap: anywhere; }
body.asn-member-app .project-item h3 { margin: .6rem 0 .4rem; line-height: 1.3; }
body.asn-member-app .project-item p { line-height: 1.5; }
body.asn-member-app .project-item:hover { transform: none; border-color: var(--asn-accent); }
body.asn-member-app .post-type-pill { font-size: .65rem; font-weight: 700; letter-spacing: .03em; padding: .3rem .5rem; border-radius: .35rem; }
body.asn-member-app input, body.asn-member-app textarea, body.asn-member-app select { max-width: 100%; }
body.asn-member-app :is(input, textarea, select, button) { font-family: inherit; }
/* Detail pages append comments as a sibling of their main content card. */
body.asn-member-app > main > :is(.request-details-container, .collab-details-container, .event-details-container, .giveaway-details-container, .comments-section, .asn-comments-shell) { min-width: 0; overflow-wrap: anywhere; }
body.asn-member-app > main > .asn-comments-shell { width: 100%; }
body.asn-member-app .asn-comments-shell :is(textarea, .asn-comment-card) { min-width: 0; }
@media (max-width: 999px) {
  body.asn-member-app > main:has(> :is(.request-details-container, .collab-details-container, .event-details-container, .giveaway-details-container)) { flex-direction: column; align-items: stretch; gap: 1.5rem; }
  body.asn-member-app > main > :is(.request-details-container, .collab-details-container, .event-details-container, .giveaway-details-container, .comments-section) { width: 100%; max-width: none; }
  body.asn-member-app > main > .asn-comments-shell { margin: 0; padding: 0; }
}
body.asn-member-app .modal, body.asn-member-app .messages-modal { z-index: 2000; }
body.asn-member-app #group-modal .modal-content { max-height: min(84dvh,52rem); overflow: auto; }
@media (min-width: 1000px) {
  body.asn-member-app { padding-left: var(--asn-shell-width); padding-bottom: 0; }
  body.asn-member-app .asn-app-header { padding-left: 1.5rem; }
  body.asn-member-app .asn-primary-nav { top: var(--asn-shell-bar); right: auto; bottom: 0; width: var(--asn-shell-width); display: flex; flex-direction: column; justify-content: flex-start; gap: .45rem; padding: 1.6rem .85rem; border-top: 0; border-right: 1px solid var(--asn-border-soft); box-shadow: none; }
  body.asn-member-app .asn-primary-nav a { flex-direction: row; justify-content: flex-start; gap: .85rem; padding: .8rem 1rem; font-size: .9rem; min-height: 3.2rem; }
  body.asn-member-app > main, body.asn-member-app > .form-container { padding: 2.2rem 2.5rem; }
  body.asn-member-app .messages-shell { max-width: 75rem; }
}
@media (max-width: 430px) {
  body.asn-member-app .asn-app-header { gap: .5rem; }
  body.asn-member-app .asn-current-group { padding: .6rem; max-width: 10rem; }
  body.asn-member-app .asn-brand-subtitle { font-size: .55rem; }
  body.asn-member-app .asn-primary-nav a { font-size: .59rem; }
  body.asn-member-app .modal-content { width: calc(100% - 1rem); padding: 1rem; }
}
@media (prefers-reduced-motion: reduce) { body.asn-member-app * { scroll-behavior: auto !important; transition-duration: 0s !important; } }

body.asn-member-app .project-item { cursor: default; }
.asn-member-app .project-item h3 a { color: var(--asn-text-strong); text-decoration: none; }
.asn-member-app .project-item h3 a:hover { text-decoration: underline; }
.asn-post-meta { color: var(--asn-muted) !important; font-size: .75rem; margin-top: .65rem; }
.asn-post-actions { display: flex; gap: .65rem; margin-top: .8rem; }
.asn-member-app .asn-post-actions button, .asn-member-app .asn-feed-tools button { border: 1px solid var(--asn-border-soft); border-radius: .55rem; padding: .5rem .7rem; background: var(--asn-surface-alt); color: var(--asn-muted); font: inherit; font-size: .75rem; cursor: pointer; }
.asn-member-app .asn-post-actions button[aria-pressed="true"] { color: var(--asn-accent); border-color: var(--asn-accent); }
.asn-member-app button:disabled { cursor: default; opacity: .55; }
.asn-feed-tools { display: flex; gap: .5rem; margin-left: auto; order: 2; }
.asn-member-app .post-list-header { align-items: center; flex-wrap: wrap; gap: .75rem; }
.asn-feed-empty { padding: 2.5rem 1rem; text-align: center; color: var(--asn-muted); line-height: 1.6; }
.asn-feed-error { color: var(--asn-danger) !important; font-size: .85rem; line-height: 1.5; }
.asn-member-app .project-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .75rem; padding: 1.5rem 0; font-size: .8rem; }
.asn-member-app .project-pagination .asn-feed-error { width: 100%; text-align: center; }
.asn-member-app .project-pagination button { border: 0; border-radius: .65rem; padding: .75rem 1.25rem; background: var(--asn-accent); color: white; cursor: pointer; }
.asn-member-app .asn-post-fields { border: 0; margin: 0; padding: 0; min-width: 0; }
.asn-member-app #post-type-chooser { display: flex; gap: .5rem; overflow-x: auto; max-width: 100%; padding: .3rem 0 1rem; }
.asn-member-app #post-type-chooser .post-type-card { flex: 0 0 auto; width: auto; min-width: 0; max-width: none; border: 1px solid var(--asn-border-soft); padding: .65rem .85rem; border-radius: .7rem; box-shadow: none; }
.asn-member-app #post-type-chooser .post-type-card h3 { font-size: .85rem; margin: 0; }
.asn-member-app #post-type-chooser .post-type-card p { display: none; }
.asn-member-app #post-type-chooser .post-type-card[aria-pressed="true"] { border-color: var(--asn-accent); background: var(--asn-surface-alt); color: var(--asn-accent); }
.asn-member-app #post-form-status { min-height: 1.5em; margin-top: .8rem; font-size: .85rem; color: var(--asn-muted); }
.asn-member-app #post-form-status[role="alert"] { color: var(--asn-danger); }
.asn-starter-toggle { display: flex; gap: .5rem; align-items: center; margin-bottom: 1rem; }
.asn-starter-toggle input { width: auto !important; }
.asn-member-app #opening-message-fields[hidden] { display: none; }

body.asn-member-app > footer a { color: var(--asn-muted) !important; }
body.asn-member-app .feed-title { width: 100%; }
body.asn-member-app .feed-title-line { flex-wrap: wrap; gap: .65rem; }
body.asn-member-app .my-groups-button { width: auto; height: auto; min-height: 2.4rem; padding: .45rem .7rem; border-radius: .6rem; font-size: .75rem; font-weight: 600; }
body.asn-member-app .my-groups-button:disabled { display: none; }
body.asn-member-app .post-button { display: flex; align-items: center; justify-content: center; gap: .35rem; width: auto; min-height: 2.7rem; padding: .65rem .75rem; font-size: .8rem; white-space: nowrap; }
body.asn-member-app .search-filter-wrap { min-width: 0; }
body.asn-member-app #conversation-status { margin: 0; padding: .5rem 1rem; color: var(--asn-danger); font-size: .8rem; }
body.asn-member-app #conversation-status[hidden] { display: none; }
body.asn-member-app .messages-empty a { color: var(--asn-accent); }

body.asn-member-app .asn-primary-nav a { position: relative; }
.asn-notification-badge { position: absolute; top: .1rem; right: .6rem; min-width: 1.1rem; border-radius: 1rem; padding: .1rem .25rem; background: var(--asn-danger); color: white; font-size: .6rem; }
.asn-notification-badge[hidden] { display: none; }
body.asn-member-app .notification-actions { flex-wrap: wrap; }
body.asn-member-app #notifications > .manage-posts-container { padding: 1rem; }

body.asn-member-app .asn-group-row { display:flex; gap:.5rem; align-items:center; padding:.4rem; }
body.asn-member-app .asn-group-select { flex:1; min-width:0; background:transparent; border:0; padding:.65rem; text-align:left; color:var(--asn-text); cursor:pointer; }
.asn-group-select .modal-group-name,.asn-group-select .modal-group-description { display:block; white-space:normal; overflow-wrap:anywhere; }
.asn-group-select .modal-group-description { font-size:.8rem; margin-top:.35rem; color:var(--asn-muted); }
body.asn-member-app .asn-group-info { border:1px solid var(--asn-border-soft); border-radius:.5rem; padding:.55rem; color:var(--asn-muted); background:var(--asn-surface-alt); }
body.asn-member-app #asn-group-info-modal { z-index:2100; }
body.asn-member-app #asn-group-info-modal .modal-content,body.asn-member-app #account-blocks-modal .modal-content,body.asn-member-app #account-terms-modal .modal-content { max-height:82dvh; overflow:auto; }
.asn-member-row { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--asn-border-soft); }
/* Shared reporting sheet and compact moderation actions. */
.asn-report-dialog{box-sizing:border-box;width:min(36rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;border:1px solid var(--border,#cbd5e1);border-radius:1rem;padding:1.3rem;background:var(--surface,#fff);color:var(--text,#172b3d)}
.asn-report-dialog::backdrop{background:rgba(15,23,42,.55)}
.asn-report-dialog form{display:grid;gap:.75rem}.asn-report-dialog h2,.asn-report-dialog p{margin:0;overflow-wrap:anywhere}.asn-report-dialog [data-context]{white-space:pre-wrap;margin-top:.6rem}
.asn-report-dialog select,.asn-report-dialog textarea{box-sizing:border-box;width:100%;font:inherit;padding:.7rem;border:1px solid #94a3b8;border-radius:.5rem;background:var(--surface,#fff);color:inherit}
.asn-report-actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.asn-report-actions button,.asn-report-button{font:inherit;cursor:pointer;border:1px solid #94a3b8;border-radius:.55rem;padding:.45rem .7rem;background:var(--surface,#fff);color:inherit}
.asn-report-button{font-size:.85rem;margin-block:.35rem}.asn-report-actions [type=submit]{background:#126b83;color:#fff;border-color:#126b83}.asn-report-dialog [data-status]:not(:empty){padding:.7rem;border-radius:.5rem;background:rgba(14,116,144,.08)}
.message-card-actions{flex-wrap:wrap;gap:.5rem}.message-like-btn{font:inherit;border:1px solid #94a3b8;background:transparent;color:inherit;border-radius:.5rem;padding:.4rem .65rem;cursor:pointer}.message-like-btn[aria-pressed=true]{color:#b42358;background:#fff1f6}.message-like-btn:disabled{opacity:.55;cursor:wait}
.asn-message-groups{border-top:1px solid #cbd5e1;padding-top:1rem;margin-top:1rem}.asn-message-groups summary{padding:.6rem 0;cursor:pointer;font-weight:600}.asn-message-groups .messages-row{width:100%}
