.family-dialog{width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--border,#ded8ca);border-radius:22px;background:var(--surface,#fff);color:var(--ink,#263c31);overflow:auto}
.family-dialog::backdrop{background:rgb(24 38 29 / .48)}
.family-head{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:16px}.family-head h2{font-size:1.8rem;margin:0;min-width:0;overflow-wrap:anywhere}.family-head .icon-button{flex-shrink:0;font-size:24px}
.family-dialog p{line-height:1.55;overflow-wrap:anywhere}.family-dialog label{display:grid;gap:7px;margin:16px 0;font-weight:500}.family-dialog input,.family-dialog textarea,.family-dialog select{min-width:0;width:100%;padding:12px;border:1px solid #d6d5cb;border-radius:9px;font:inherit;color:inherit;background:#fff}.family-dialog textarea{resize:vertical}.family-dialog form>.button{margin:8px 0}.family-message{padding:12px;border-radius:10px;background:#f7ead9}.family-note{font-size:.86rem;color:#62675f}
.family-receipt>span{display:block;color:#2a6549;font-size:3rem}.family-receipt code{font-size:.8rem;overflow-wrap:anywhere}.family-answer-list article{padding:18px 0;border-top:1px solid #e5e1d8}.family-answer-list h3{font-size:1.2rem;margin:8px 0}.family-answer-list p{white-space:pre-wrap}.family-status{font-size:.8rem;color:#2c674c;background:#e7f2e9;padding:5px 9px;border-radius:100px}.family-invite{padding:16px;background:#faf4ec;border-radius:12px;margin:20px 0}.family-invite h3{margin:0}
.identify-stage{position:relative;line-height:0;touch-action:none;user-select:none;width:100%;cursor:crosshair;outline-offset:4px}.identify-stage img{display:block;width:100%;height:auto;pointer-events:none}.identify-box{position:absolute;border:3px solid #fff;outline:2px solid #e7a52b;box-shadow:0 0 0 9999px rgb(0 0 0 / .10);pointer-events:none}.identify-stage{overflow:hidden}.identify-controls{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.identify-controls .button{flex:1;white-space:normal}.family-questions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.family-questions .button{text-align:left;white-space:normal}
.photo-identify{margin-top:16px}.more-links button{text-align:left;font:inherit;padding:14px 0;border:0;border-bottom:1px solid var(--border,#e5e1d8);background:transparent;color:inherit;cursor:pointer}.site-footer nav button{background:none;border:0;font:inherit;color:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}.app-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.app-actions .button{white-space:normal}.app-steps{padding-left:20px}.app-steps li{margin:8px 0;line-height:1.5}
@media(max-width:540px){.family-dialog{padding:18px;max-height:calc(100dvh - 18px)}.family-head h2{font-size:1.5rem}}
.notices-page{max-width:920px}.notices-page .page-head{align-items:flex-start}.notices-account{margin-top:12px;color:var(--muted);font-size:var(--t-15)}.notice-list{display:grid;gap:14px;list-style:none;padding:0}.notice-link{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;border:1px solid var(--rule);border-radius:var(--r-m);background:var(--surface);text-decoration:none;overflow-wrap:anywhere}.notice-link:hover{border-color:var(--rule-strong);box-shadow:var(--sh-1)}.notice-link h2{font-size:var(--t-28);line-height:1.15;max-width:100%;overflow-wrap:anywhere}.notice-date{display:block;color:var(--muted);font-size:var(--t-14)}.notice-preview{color:var(--muted);line-height:1.6;max-width:100%;overflow-wrap:anywhere}.notice-read{font-size:var(--t-15);font-weight:600;color:var(--primary)}.notice-detail{padding:clamp(20px,4vw,36px);border:1px solid var(--rule);border-radius:var(--r-l);background:var(--surface);overflow-wrap:anywhere}.notice-detail header{display:grid;justify-items:start;gap:14px}.notice-detail h2{font-size:clamp(var(--t-28),4vw,var(--t-44));line-height:1.1;max-width:100%;overflow-wrap:anywhere}.notice-body{margin:24px 0;font-size:var(--t-18);line-height:1.7}.notice-body p{white-space:pre-wrap;overflow-wrap:anywhere}.notice-test-note{margin-top:22px;padding:14px 18px;border-radius:var(--r-s);background:var(--sea-soft);line-height:1.6}.notices-state{padding:24px;border:1px solid var(--rule);border-radius:var(--r-m);background:var(--surface)}.notices-state h2{line-height:1.15;margin-bottom:12px}.notices-state p{line-height:1.6;overflow-wrap:anywhere}.notices-state .button{margin-top:18px}
@media(max-width:540px){.notice-link,.notices-state{padding:18px}.notice-link h2{font-size:var(--t-24)}.notices-page .page-head .button{width:100%}.notice-detail>.button{width:100%}}
