/* Hallmark · house-system · account popover / profile workbench · pre-emit critique: P4 H4 E4 S5 R4 V4 · responsive: 320 / 375 / 414 / 768 checked */
.member-widget{display:inline-flex;align-items:center;flex-shrink:0}.house-page .member-avatar-button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:4px;border:1px solid var(--color-rule);border-radius:50%;background:var(--color-surface);color:var(--color-ink)}.member-avatar-button img{width:40px;height:40px;border-radius:50%;object-fit:cover}.member-avatar-button[aria-expanded=true]{outline:2px solid var(--color-accent);outline-offset:3px}
.member-popover{position:fixed;z-index:200;max-height:80svh;overflow:auto;overscroll-behavior:contain;padding:var(--space-lg);border-radius:var(--radius-card);border:1px solid var(--color-rule);background:var(--color-surface);box-shadow:0 16px 48px var(--color-overlay);text-align:left;white-space:normal;scroll-padding-block:var(--space-md)}
.member-card-heading{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);min-width:0}.member-card-heading img,.profile-current-avatar,.profile-avatar-preview{width:64px;height:64px;object-fit:cover;border-radius:50%;background:var(--color-paper-2)}.member-card-heading>div{min-width:0}.member-card-heading strong{display:block;font:500 var(--text-lg)/1.5 var(--font-display);overflow-wrap:anywhere}.member-card-heading span{display:block;color:var(--color-ink-2);font-size:var(--text-xs);margin-top:4px}
.fish-wallet{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:var(--space-sm) var(--space-md);padding:var(--space-md);border-radius:var(--radius-card);background:var(--color-paper-2);margin-bottom:var(--space-md)}.fish-wallet>svg,.fish-wallet>#profile-fish-icon{display:block;width:40px;height:32px}.fish-wallet>div{min-width:0}.fish-wallet span{display:block;font-size:var(--text-xs);color:var(--color-ink-2)}.fish-wallet strong{display:block;font-size:var(--text-2xl);line-height:1.3;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.fish-wallet small{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);font-size:var(--text-xs);line-height:1.7;color:var(--color-ink-2)}.fish-wallet small span{max-width:100%;overflow-wrap:anywhere}
.fish-icon{--fish-fill:var(--color-day-water);--fish-line:var(--color-day-water-deep);--fish-eye:var(--color-day-accent)}.fish-wallet>#profile-fish-icon svg{display:block;width:100%;height:100%}
.house-page .member-signin{width:100%;justify-content:center;min-height:48px}.member-day-note{font-size:14px!important;color:var(--color-ink-2);text-align:center;line-height:1.7;margin:var(--space-sm) 0 var(--space-lg)!important}.profile-pending-link{display:block!important;white-space:normal!important;font-size:14px!important;margin-bottom:var(--space-md);padding:var(--space-sm)!important;background:var(--color-paper-2);border-radius:var(--radius-input)}
.member-card-links{border-top:1px solid var(--color-rule);padding-top:var(--space-sm);display:grid;gap:var(--space-xs)}.house-page .member-card-links a,.house-page .member-card-links button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);min-height:44px;border:0;border-radius:var(--radius-input);background:transparent;padding:var(--space-sm);font-size:var(--text-md);color:var(--color-ink);text-decoration:none}.member-card-links a:hover,.member-card-links button:hover{background:var(--color-paper-2)}.member-panel-feedback,.member-loading{font-size:var(--text-xs);color:var(--color-ink-2);margin:var(--space-sm) 0 0!important;overflow-wrap:anywhere}
.profile-shell{max-width:1120px;margin:auto;padding:var(--space-lg) var(--space-xl) var(--space-2xl)}.profile-intro{padding-block:var(--space-xl) var(--space-2xl)}.profile-intro h1{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:var(--space-sm)}.profile-intro p{color:var(--color-ink-2);margin:0}.profile-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--space-2xl);align-items:start}.profile-card{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-lg);min-width:0}.profile-identity{display:grid;justify-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.profile-current-avatar{width:96px;height:96px}.profile-identity strong{font:500 var(--text-lg)/1.5 var(--font-display);overflow-wrap:anywhere;text-align:center}.profile-card h2{font-size:var(--text-xl)}.profile-form label{display:block;font-weight:600;margin-bottom:var(--space-sm)}.profile-form input[type=text]{width:100%;min-height:48px;padding:var(--space-md);background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-input);margin-bottom:var(--space-lg)}.profile-avatar-row{display:flex;gap:var(--space-lg);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-md)}.profile-avatar-preview{width:80px;height:80px}.profile-file-label{display:inline-flex!important;align-items:center;min-height:44px;border:1px solid var(--color-rule);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--text-xs)}.profile-file-input{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.profile-file-label:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:4px}.profile-form .profile-hint{font-size:var(--text-xs);color:var(--color-ink-2);line-height:1.8}.profile-actions{display:flex;gap:var(--space-md);align-items:center;flex-wrap:wrap;margin-top:var(--space-lg)}.profile-request-state{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--color-rule)}.profile-request-state h3{font-size:var(--text-lg);margin:0 0 var(--space-sm)}.profile-request-state p{font-size:var(--text-xs);overflow-wrap:anywhere;margin-bottom:var(--space-sm)}
.profile-review-list{display:grid;gap:var(--space-lg)}.profile-review{border-block-start:1px solid var(--color-rule);padding-block:var(--space-lg);min-width:0}.profile-review h3{margin:0 0 var(--space-sm);font-size:var(--text-lg)}.profile-review-meta{font-size:var(--text-xs);color:var(--color-ink-2);overflow-wrap:anywhere}.profile-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);margin-block:var(--space-lg)}.profile-comparison>div{display:flex;gap:var(--space-md);align-items:center;min-width:0}.profile-comparison img{width:56px;height:56px;object-fit:cover;border-radius:50%;background:var(--color-paper-2)}.profile-comparison p{margin:0;font-size:var(--text-xs);min-width:0;overflow-wrap:anywhere}.profile-comparison strong{display:block;font-size:var(--text-md);margin-top:var(--space-xs)}.profile-review textarea{width:100%;border:1px solid var(--color-rule);border-radius:var(--radius-input);padding:var(--space-md);font:var(--text-md)/1.6 var(--font-body);color:var(--color-ink);background:var(--color-paper);min-height:90px;resize:vertical}.profile-review label{display:block;font-size:var(--text-xs);margin-bottom:var(--space-sm)}.profile-review-actions{display:flex;gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-md)}
.house-toasts{position:fixed;z-index:1200;top:max(16px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(360px,calc(100% - 32px));display:grid;gap:var(--space-sm);pointer-events:none}.house-toast{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:start;gap:var(--space-sm);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--radius-card);box-shadow:0 8px 32px var(--color-overlay);pointer-events:auto;color:var(--color-ink)}.toast-icon{width:24px;height:24px;color:var(--color-accent);margin-top:2px}.house-toast strong{display:block;font-size:var(--text-md);font-weight:700;line-height:1.6}.house-toast p{font-size:var(--text-xs);line-height:1.7;margin:var(--space-xs) 0 0!important;color:var(--color-ink-2);overflow-wrap:anywhere}.house-page .house-toast button{width:44px;height:44px;min-width:44px;margin:-8px -8px 0;border:0;background:transparent;font-size:24px;color:var(--color-ink-2);border-radius:var(--radius-pill)}
.inbox-shortcuts{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-lg)}.inbox-shortcuts a{display:inline-flex;align-items:center;min-height:44px;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-paper-2);border-radius:var(--radius-pill);font-size:var(--text-xs);text-decoration:none;white-space:nowrap}.notice-destination{display:inline-block;margin-top:var(--space-sm);font-size:var(--text-xs);color:var(--color-accent)}
@media(max-width:768px){.profile-shell{padding:var(--space-md)}.profile-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.profile-intro{padding-block:var(--space-xl)}.profile-card{padding:var(--space-lg)}.profile-comparison{gap:var(--space-md)}.profile-comparison>div{display:block}.profile-comparison img{margin-bottom:var(--space-sm)}.house-page .console-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.house-page .console-tabs button{flex:1 1 112px}.profile-avatar-row{gap:var(--space-md)}}
@media(prefers-reduced-motion:reduce){.member-popover,.house-toast{animation:none!important;transition:none!important}}

.house-page #avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}

@media(max-width:580px){.house-page .console-tabs{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--radius-card)}}

.comment-person{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;font:14px/1.5 var(--font-body);vertical-align:middle}.comment-person .comment-avatar{width:36px;height:36px;flex:none;border-radius:50%;object-fit:cover;background:var(--color-paper-2)}.comment-person strong{font-weight:600;min-width:0;overflow-wrap:anywhere}.comment-person small{flex:none;font-size:var(--text-xs);color:var(--color-accent)}

.local-data-dialog{color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--radius-card);width:min(700px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:var(--space-lg);font:var(--text-sm)/1.7 var(--font-body)}
.local-data-dialog::backdrop{background:var(--color-overlay)}
.local-data-dialog header,.local-data-dialog footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap}
.local-data-dialog h2{font:500 var(--text-xl)/1.5 var(--font-display);margin:0}.local-data-dialog h3{font-size:var(--text-md);margin-top:var(--space-xl)}
.local-data-dialog button{min-height:44px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper-2);color:var(--color-accent);font:inherit}
.local-data-row{padding-block:var(--space-md);border-top:1px solid var(--color-rule)}.local-data-row label{display:flex;align-items:center;gap:var(--space-sm);min-height:44px}.local-data-row input{width:24px;height:24px}.local-data-row p{color:var(--color-ink-2);margin:var(--space-xs) 0;overflow-wrap:anywhere}
.local-data-dialog footer{position:sticky;bottom:0;background:var(--color-surface);padding-top:var(--space-md);padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:600px){.local-data-dialog{padding:var(--space-md)}.local-data-dialog footer button{flex:1}}
