/* Family v1: local, no account required. All selectors isolated from existing playground. */
.family-open{border:1px solid #bfc4d4;background:#fff;color:#35334e;font:inherit;font-size:13px;font-weight:700;padding:9px 11px;border-radius:14px;cursor:pointer;white-space:nowrap}
.family-modal[hidden],.family-stop-wrapper[hidden],.family-notice[hidden]{display:none!important}
.family-modal{position:fixed;inset:0;background:rgba(24,21,42,.70);z-index:2147483000;display:grid;place-items:center;padding:15px;overflow:auto;overscroll-behavior:contain}
.family-card{background:#fff;color:#322f48;border-radius:24px;box-shadow:0 20px 90px #16112535;max-width:550px;width:min(100%,550px);max-height:calc(100dvh - 30px);overflow:auto;padding:clamp(16px,4vw,28px);font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif}
.family-card h2{font-size:clamp(21px,4vw,27px);letter-spacing:-.5px;margin:0 0 7px;font-weight:800}
.family-card h3{font-size:16px;margin:18px 0 11px}
.family-card p{margin:4px 0 14px;line-height:1.45}
.family-card .family-note{font-size:13px;color:#5a5b6d}
.family-card .family-section{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.family-card label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:13px}
.family-card input,.family-card select{width:100%;padding:12px 10px;font-size:16px;color:#29273d;border:1px solid #aaaabd;border-radius:12px;background:white;min-height:46px}
.family-card input:focus-visible,.family-card button:focus-visible,.family-card select:focus-visible,.family-stop button:focus-visible{outline:3px solid #835ad7;outline-offset:2px}
.family-card input[type=number]{appearance:textfield}
.family-card .family-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}
.family-card .family-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:17px}
.family-card button,.family-stop button{font-family:inherit;min-height:43px;padding:10px 15px;border-radius:13px;cursor:pointer;font-size:14px;font-weight:800;border:1px solid #b2acc8;background:white;color:#413b55}
.family-card .family-primary,.family-stop .family-primary{background:#7654bb;border-color:#7654bb;color:#fff}
.family-card button:disabled{opacity:.4;cursor:not-allowed}
.family-card .family-error{background:#fff4f1;color:#8a2828;padding:9px;border-radius:9px;font-size:13px}
.family-figures{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.family-figures>div{border-radius:13px;background:#f1ecfb;padding:12px 8px}
.family-figures span{font-size:12px;color:#5d5671;display:block}
.family-figures strong{display:block;font-size:17px;font-variant-numeric:tabular-nums;margin-top:6px}
.family-stats{display:grid;gap:6px;margin-top:10px}
.family-stat-line{display:flex;justify-content:space-between;gap:20px;font-size:14px;padding:7px 1px;border-bottom:1px solid #e5e3eb}
.family-stat-line strong{font-variant-numeric:tabular-nums}
.family-topline{display:flex;justify-content:space-between;align-items:start;gap:16px}
.family-topline button{min-width:70px}
.family-topline .family-status{font-size:12px;color:#6b558c}
.family-stop-wrapper{position:fixed;inset:0;z-index:2147482000;background:#fff;display:grid;place-items:center;padding:18px}
.family-stop{width:min(100%,620px);text-align:center;color:#302e44;font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif}
.family-stop-inner{background:#f8f6ff;border-radius:26px;padding:30px 18px;box-shadow:0 1px 0 #e5dbfc}
.family-stop-art{font-size:72px;color:#a097da;margin-bottom:6px}
.family-stop h2{font-size:clamp(24px,5vw,34px);margin:7px 0 9px}
.family-stop p{font-size:clamp(16px,3vw,19px);line-height:1.5;max-width:420px;margin:8px auto 19px}
.family-stop .family-play-tip{color:#716d80;font-size:14px;margin:0 auto 22px}
.family-notice{position:fixed;z-index:2147481500;bottom:15px;left:50%;transform:translateX(-50%);padding:13px 22px;border-radius:15px;background:#343047;color:white;font-weight:700;font-size:14px;text-align:center;max-width:calc(100vw - 30px)}
@media(max-width:410px){.family-card .family-section{grid-template-columns:1fr}.family-figures strong{font-size:14px}.family-card{padding:17px}.family-modal{padding:9px}.family-card .family-actions{flex-direction:column;align-items:stretch}.family-card .family-actions button{width:100%}.family-open{padding:7px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.family-modal *, .family-stop *{animation:none!important;transition:none!important}}