/* 내 독서 (2026-10-12): 이어 읽기 card, stats, month calendar, works with progress, recent notes, book 내 노트. */
.reading-card{padding:24px 26px;background:#e9ede3;border-radius:10px;margin:0 0 18px}
.reading-card h2{font-family:var(--serif);font-weight:500;font-size:24px;margin:0 0 6px}
.reading-card .eyebrow{margin-bottom:8px}
.reading-card .help{margin:0 0 6px}
.reading-card .next-line{margin:0 0 16px;font-size:14px;color:var(--ink)}
.reading-card.first-read{background:var(--card);border:1px dashed #b9c1b3}
.reading-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 30px;padding:0}
.reading-stats div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 10px;text-align:center}
.reading-stats dt{font-size:12px;color:var(--muted)}
.reading-stats dd{margin:2px 0 0;font-size:20px;font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}
.reading-section{margin:0 0 34px}
.reading-section>h2,.reading-section .section-heading h2{font-size:19px;margin:0 0 12px}
.reading-section .section-heading{margin:0 0 12px}
#reading-calendar{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.cal-head{display:flex;align-items:center;gap:6px;margin:0 0 6px}
.cal-head h3{flex:1;text-align:center;font-size:17px;margin:0;font-variant-numeric:tabular-nums}
.cal-head .text-button{padding:6px 2px;margin-left:4px}
.cal-nav{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--green);font-size:20px;line-height:1}
.cal-legend{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;font-size:12px;margin:0 0 8px;color:var(--ink)}
.cal-legend .help{margin-left:auto;font-size:12px}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.cal-week{text-align:center;font-size:11px;color:var(--muted);padding:2px 0}
.cal-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1px;min-height:48px;padding:5px 0 3px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font-variant-numeric:tabular-nums}
.cal-cell.blank{border:0}
.cal-cell .cal-date{font-size:14px;line-height:1.3}
.cal-cell .cal-marks{display:flex;gap:2px;font-size:12px;line-height:1;min-height:13px}
.cal-cell.read{background:#e7ece1}
.cal-cell.read .cal-date{font-weight:700;color:var(--green)}
.cal-cell.today{border-color:var(--gold)}
.cal-cell.selected{background:var(--green);color:#fff}
.cal-cell.selected .cal-date,.cal-cell.selected .mark-read,.cal-cell.selected .mark-note{color:#fff}
.mark-read{color:var(--green);font-weight:700}
.mark-note{color:var(--gold)}
.cal-state{padding:22px 4px;text-align:center}
.cal-state p{margin:0 0 12px}
.cal-hint{margin:12px 2px 0;font-size:12px}
.day-list{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.day-list h4{margin:0 0 8px;font-size:15px}
.day-list ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.day-item{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:baseline;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfaf5;color:var(--ink);font-size:14px}
button.day-item:hover{border-color:#8b9c7d}
.day-item .kind{font-size:12px;font-weight:600;color:var(--green);white-space:nowrap}
.day-item .what{min-width:0;overflow-wrap:anywhere}
.day-item .when{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.day-item.gone .what{color:var(--muted)}
.work-list,.recent-notes{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.work-row,.note-row{display:flex;width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:14px 16px;color:var(--ink)}
.work-row{align-items:center;justify-content:space-between;gap:14px}
.work-title{display:grid;min-width:0}
.work-title strong{font-weight:600;overflow-wrap:anywhere}
.work-title small{font-size:12px;color:var(--muted)}
.work-progress{display:grid;justify-items:end;gap:3px;flex:none;width:118px}
.work-progress progress{width:100%;height:6px;accent-color:var(--green)}
.work-progress small{font-size:12px;color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap}
.note-row{flex-direction:column;gap:3px}
.note-row .eyebrow{font-size:10px;margin:0}
.note-row strong{font-weight:500;font-family:var(--serif);overflow-wrap:anywhere}
.note-row small{font-size:12px;color:var(--muted)}
.reading-section .help.fine{font-size:12px;margin:10px 2px 0}
.reading-section .library-tabs{margin:0 0 10px}
.book-notes{margin-top:34px}
.book-notes select{display:block;width:100%;margin:6px 0 12px}
.note-card.compact{padding:18px 20px;margin:10px 0}
.note-card.compact blockquote{margin:6px 0 10px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.book-progress.finished small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
@media(max-width:480px){
  .reading-card{padding:20px}
  .reading-stats dd{font-size:18px}
  .cal-cell{min-height:44px}
  .work-progress{width:96px}
  .day-item{grid-template-columns:1fr auto}
  .day-item .what{grid-column:1/-1;grid-row:2}
}
/* 2026-10-12 search layout shared by 작품 탐색 and 독서노트: compact title, a sticky panel with one search field
   (drawn icon — the page CSP blocks data: images — and a clear button) and categories, then a one-line toolbar. */
.page-intro.compact{margin-bottom:18px}
.page-intro.compact h1{font-size:30px;margin-bottom:8px}
.page-intro.compact p:last-child{margin:0;font-size:14px}
.search-panel{position:sticky;top:0;z-index:4;margin:0;padding:10px 0 2px;background:var(--paper)}
.searchbar{position:relative;display:flex;align-items:center;margin:0 0 10px}
.searchbar-icon{position:absolute;left:16px;top:50%;width:13px;height:13px;margin-top:-9px;border:2px solid #8a8c80;border-radius:50%;pointer-events:none}
.searchbar-icon::after{content:"";position:absolute;right:-6px;bottom:-5px;width:7px;height:2px;background:#8a8c80;border-radius:2px;transform:rotate(45deg)}
.searchbar-input{width:100%;height:48px;margin:0;padding:0 46px 0 44px;border:1px solid transparent;border-radius:24px;background:#eceee6;color:var(--ink);font:inherit;font-size:16px;-webkit-appearance:none;appearance:none}
.searchbar-input::placeholder{color:#8f9185}
.searchbar-input:focus{outline:none;background:var(--card);border-color:var(--green);box-shadow:0 0 0 3px #394b3b1f}
.searchbar-input::-webkit-search-cancel-button,.searchbar-input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}
.searchbar-clear{position:absolute;right:8px;top:50%;width:32px;height:32px;margin-top:-16px;border:0;border-radius:50%;background:#d9dccf;color:var(--ink);font-size:18px;line-height:1;padding:0}
.search-panel .category-chips{margin:0;padding:2px 0 10px}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 14px;min-height:40px}
.list-toolbar p{margin:0;font-size:13px;color:var(--muted);min-width:0;overflow-wrap:anywhere}
.inline-select{position:relative;flex:none;max-width:56%}
.inline-select select{-webkit-appearance:none;appearance:none;max-width:100%;height:36px;margin:0;padding:0 28px 0 12px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink);font:inherit;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}
.inline-select::after{content:"";position:absolute;right:12px;top:50%;width:6px;height:6px;margin-top:-5px;border-right:1.5px solid var(--green);border-bottom:1.5px solid var(--green);transform:rotate(45deg);pointer-events:none}
.inline-select select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:370px){.page-intro.compact h1{font-size:26px}}
/* 독서노트 list (2026-10-12): every card the same width and rhythm, sized to its text. */
#notes-results .note-card{padding:20px 22px;margin:0 0 12px}
#notes-results .note-card .eyebrow{margin:0 0 6px}
#notes-results .note-card h2{font-size:18px;margin:0 0 8px}
#notes-results .note-card blockquote{margin:8px 0 10px;padding-left:14px;font-size:15px;line-height:1.75}
#notes-results .note-body{margin:0 0 8px;line-height:1.75}
#notes-results .note-card .help{margin:0}
#notes-results .note-card .actions{gap:14px;margin-top:6px}
#notes-results .note-card .text-button{padding:6px 0}
.unfinished-line{display:block;margin-top:12px;text-align:left;font-size:13px;line-height:1.5;overflow-wrap:anywhere}

/* 어린이 고전 (2026-10-24): parent note, illustrations between paragraphs, one question after the story. */
/* Same rhythm as the classics reader (2026-10-24): the parent note sits where 이 장면의 배경 does (22px either side), the
   question where 조금 더 가까이 읽기 does, and a picture that opens the story adds no extra gap. */
.kids-parent,.kids-question{display:grid;gap:4px;border-radius:12px;padding:12px 14px;font-size:.95em}
.kids-parent{margin:22px 0}.kids-question{margin:30px 0 0}
.kids-parent{background:#eef3e9;color:#2f3a2f}
.kids-question{background:#fbf1dc;color:#3b3020}
.kids-parent strong,.kids-question strong{font-size:.78em;letter-spacing:.06em}
.kids-parent p,.kids-question p{margin:0}
.kids-question p{font-size:1.08em}
.kids-art{margin:22px 0;display:grid;gap:4px}.prose>.kids-art:first-child{margin-top:0}
.kids-art img{width:100%;height:auto;border-radius:12px;background:#fff}
.kids-art figcaption{font-size:11px;color:#8a877a;text-align:right}

/* 비로그인 체험 (2026-10-24): guest banner on home and after a free chapter, the 가입하고 이어 읽기 screen. */
.guest-banner{display:grid;gap:10px;background:#eef3e9;border-radius:14px;padding:14px 16px;margin:0 0 18px}
.guest-banner p{margin:0;font-size:.95em;line-height:1.6}
.guest-banner .actions,.guest-gate .actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.guest-banner .button{flex:1 1 140px;text-align:center}
.guest-reader{margin:22px 0 14px}
.guest-perks{width:fit-content;margin:6px auto 4px;padding-left:20px;display:grid;gap:4px;text-align:left}
.guest-gate .actions .button{flex:1 1 160px;text-align:center}

/* 어린이 고전 shortcut on the home screen (2026-10-24; 10/25: a picture, stronger colour, the same 20px above and below). */
.kids-shortcut{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:14px;width:100%;margin:20px 0;padding:16px 16px 16px 18px;border:1px solid #ecd9b4;border-radius:16px;background:linear-gradient(135deg,#fdf3df,#f8e6c4);color:#3b3020;text-align:left;font:inherit;cursor:pointer;box-shadow:0 6px 18px rgba(163,116,47,.12)}
.kids-shortcut-text{display:grid;gap:4px;min-width:0}
.kids-shortcut small{font-size:11px;font-weight:700;letter-spacing:.12em;color:#a3742f}
.kids-shortcut strong{font-family:var(--serif);font-size:1.18em;line-height:1.35;color:#2e2617}
.kids-shortcut span span,.kids-shortcut-text>span{font-size:.88em;color:#6c5e45;line-height:1.55}
.kids-shortcut img{width:112px;height:84px;object-fit:cover;border-radius:12px;box-shadow:0 2px 8px rgba(40,41,34,.12)}
.kids-shortcut+.section-heading{margin-top:20px}
.kids-shortcut:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* 문장 카드 (2026-10-26, platform-card.js) */
.note-card-sheet{position:fixed;inset:0;z-index:60;background:#1b1c18b3;display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
.note-card-panel{background:var(--card);color:var(--ink);border-radius:14px;width:100%;max-width:440px;max-height:100%;overflow:auto;padding:16px;display:grid;gap:12px}
.note-card-head{display:flex;justify-content:space-between;align-items:center}.note-card-head h2{margin:0;font-size:19px}
.note-card-preview{display:block;width:auto;max-width:100%;max-height:52vh;margin:0 auto;border-radius:8px;box-shadow:0 4px 18px #0002}
.note-card-options{display:grid;gap:8px}.note-card-options .chips{display:flex;gap:8px;flex-wrap:wrap}
.note-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.note-card-actions .button:first-child{grid-column:1/-1}
.note-card-status:empty{display:none}
.note-card-link{display:block;margin-top:4px}
@media (min-width:700px){.note-card-sheet{align-items:center}}

/* 초대 코드·QR (2026-10-26) */
.family-code{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:14px 0}
.family-code>div{flex:1 1 180px}.family-code p{margin:0}
.family-code-digits{display:block;font-family:var(--serif);font-size:30px;letter-spacing:3px;font-variant-numeric:tabular-nums;margin:2px 0 4px}
.family-code figure{margin:0;text-align:center}.family-qr{display:block;width:148px;height:148px;image-rendering:pixelated;background:#fff;border-radius:6px}
.family-code-form{margin-top:22px}.family-code-form h2{font-size:18px}
.family-code-found{border-top:1px solid var(--line);padding-top:12px;margin-top:6px;display:grid;gap:6px}.family-code-found p{margin:0}

/* 반응 칩 (2026-10-26) */
.note-reactions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.note-reaction{display:inline-block;margin:0 0 8px}

/* 다시 보기 (2026-10-26): home revisit card, my marks in the text */
.revisit-card{margin:22px 0;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.revisit-card blockquote{margin:0 0 6px;font-family:var(--serif);font-size:18px;line-height:1.8}.revisit-card .actions{margin-top:4px}
::highlight(my-quote){background-color:#f1dfbd;color:inherit}
.my-quote-mark{border:0;background:none;color:var(--gold);padding:0 4px;margin-left:2px;font-size:15px;line-height:1;vertical-align:baseline;cursor:pointer}
.my-quote-mark::before{content:'✎'}
.notes-filters{margin-top:-6px}
.book-finished-notes{margin:0 0 18px;padding:16px 18px;border-radius:10px;background:#eef1e8}
.book-finished-notes blockquote{margin:8px 0;font-family:var(--serif)}

/* 아이 프로필 (2026-10-26) */
.child-dot{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;font-weight:700;flex:none}
.child-list{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}.child-list li{display:flex;align-items:center;gap:8px}
.child-row{flex:1;display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--ink)}
.child-row span{flex:1;display:grid}.child-row small{color:var(--muted)}
.child-form fieldset{border:0;padding:0;margin:12px 0}.child-form legend{font-size:14px;margin-bottom:6px}
.child-colour input{position:absolute;opacity:0}.child-colour span{display:inline-block;width:22px;height:22px;border-radius:50%}.child-colour:has(input:checked){outline:2px solid var(--ink)}
.child-consent{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:12px 0;font-size:14px}.child-consent ul{margin:6px 0 10px;padding-left:18px}
.child-head{display:flex;gap:14px;align-items:center}.child-head .child-dot{width:52px;height:52px;font-size:22px}
.child-note{background:#fbf1dc;border-radius:10px;padding:12px 14px;font-size:15px}
.child-stories{list-style:none;padding:0;display:grid;gap:12px}.child-story{border-top:1px solid var(--line);padding-top:10px}.child-story h3{margin:0}
.child-story blockquote{margin:6px 0 0;font-family:var(--serif)}
.child-edit{margin-top:28px}
.child-mode{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fbf1dc;border-radius:10px;padding:10px 14px;margin:0 0 18px;font-size:14px}.child-mode .child-dot{width:28px;height:28px}
.child-picker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 14px}
.child-answer{margin-top:12px;display:grid;gap:6px}.child-answer textarea{width:100%}

.c-green{background:#5b7a5e}.c-gold{background:#b0803c}.c-rose{background:#b36a5e}.c-sky{background:#5b7fa6}
.child-form .chips{display:flex;gap:8px;flex-wrap:wrap}
.child-form label.chip{position:relative;display:inline-flex;align-items:center;gap:6px;width:auto;margin:0;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:14px;font-weight:500;cursor:pointer}
.child-form label.chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.child-form label.chip:has(input:checked){background:var(--green);border-color:var(--green);color:#fff}
.child-form label.chip:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}
.child-form .child-colour{padding:5px}.child-form .child-colour span{display:block;width:26px;height:26px;border-radius:50%}
.child-form .child-colour:has(input:checked){background:var(--card);border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.child-form .password-toggle{display:flex;justify-content:flex-start;align-items:flex-start;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--ink)}
.child-form .password-toggle input{flex:none;margin-top:3px}
.child-form .child-colour{position:relative;display:inline-block;width:auto;margin:0;padding:3px;border:2px solid transparent;border-radius:50%;cursor:pointer;background:none;box-shadow:none}
.child-form .child-colour input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.child-form .child-colour span{display:block;width:30px;height:30px;border-radius:50%}
.child-form .child-colour:has(input:checked){border-color:var(--ink);background:none}
.child-form .password-toggle input[type=checkbox]{width:auto;min-height:0;height:18px}
.child-form .password-toggle{display:flex;flex-wrap:nowrap}
.child-form .password-toggle{display:block;line-height:1.6}.child-form .password-toggle input[type=checkbox]{margin:0 8px 0 0;vertical-align:-3px}

/* 질문 카드 (2026-10-26) */
.note-questions{display:grid;gap:6px;margin:4px 0 12px}.note-questions p{margin:0}
.note-question{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:14px;line-height:1.5;color:var(--ink);cursor:pointer}
.note-question:hover{border-color:#8b9c7d}
/* 가족 책장·공감 (2026-10-26) */
.family-shelf-book{border-top:1px solid var(--line);padding:10px 0}.family-shelf-book summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.family-shelf-book summary small{color:var(--muted)}
.family-shelf-list{list-style:none;padding:0;margin:4px 0 12px;display:grid;gap:4px}.family-shelf-list li{display:flex;justify-content:space-between;align-items:center}
.family-reactions{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px;display:grid;gap:8px}
.family-reactions>.chip{justify-self:start}.family-comments{list-style:none;padding:0;margin:0;display:grid;gap:4px;font-size:14px}

/* 많이 담은 문장 (2026-10-26) */
::highlight(popular){text-decoration:underline dotted #a97a3d;text-underline-offset:4px;text-decoration-thickness:2px}
.prose p[data-popular]::after{content:'  ' attr(data-popular);font-family:-apple-system,"Apple SD Gothic Neo",sans-serif;font-size:12px;color:var(--gold);white-space:nowrap}

/* 올해의 독서 (2026-10-26) */
.year-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0 0 20px}
.year-stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid}
.year-stat strong{font-family:var(--serif);font-size:30px;font-weight:600}.year-stat span{font-size:13px;color:var(--muted)}
.year-line{font-size:15px}.year-link{margin:0 0 6px}

/* 우리 집 프로필 (2026-10-26) */
.c-plum{background:#7a5c86}
.who{display:grid;justify-items:center;text-align:center;gap:10px;padding:16px 0}.who h1{margin:0}
.who-grid{list-style:none;padding:0;margin:14px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:18px;width:100%;max-width:640px}
.who-tile{width:100%;display:grid;justify-items:center;gap:6px;background:none;border:0;color:var(--ink);padding:6px;cursor:pointer}
.who-tile .who-dot{width:84px;height:84px;font-size:34px;border-radius:22px}.who-tile.current .who-dot{box-shadow:0 0 0 3px var(--paper),0 0 0 6px var(--ink)}
.who-tile small{color:var(--muted);font-size:12px}.who-name{font-weight:600}
.who-dot{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;font-weight:700;flex:none}
.who-dot.big{width:72px;height:72px;font-size:30px;border-radius:20px}
.who-plus{background:var(--card);color:var(--muted);border:2px dashed var(--line)}
.who-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:center}
.who-avatar{background:none;border:0;padding:0;cursor:pointer;margin-right:6px}.who-avatar .who-dot{width:32px;height:32px;font-size:15px;border-radius:9px}
.pin-dots{display:flex;gap:14px;margin:6px 0}.pin-dots span{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink)}.pin-dots span.on{background:var(--ink)}
.pin-keys{display:grid;grid-template-columns:repeat(3,72px);gap:10px}.pin-keys button{height:56px;border-radius:14px;border:1px solid var(--line);background:var(--card);font-size:20px;color:var(--ink)}
.who-form{margin-top:16px}.who-form fieldset{border:0;padding:0;margin:12px 0}.who-form legend{font-size:14px;margin-bottom:6px}
.who-colours{display:flex;gap:8px;flex-wrap:wrap}.who-form .who-colour{position:relative;display:inline-block;width:auto;margin:0;padding:3px;border:2px solid transparent;border-radius:50%;cursor:pointer}
.who-form .who-colour input{position:absolute;opacity:0;width:1px;height:1px}.who-form .who-colour span{display:block;width:30px;height:30px;border-radius:50%}
.who-form .who-colour:has(input:checked){border-color:var(--ink)}
.who-form .chips{display:flex;gap:8px;flex-wrap:wrap}
.who-form label.chip{position:relative;display:inline-flex;align-items:center;width:auto;margin:0;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:14px;cursor:pointer}
.who-form label.chip input{position:absolute;opacity:0;width:1px;height:1px}.who-form label.chip:has(input:checked){background:var(--green);border-color:var(--green);color:#fff}
.who-form .password-toggle{display:block;line-height:1.6;font-size:14px}.who-form .password-toggle input[type=checkbox]{width:auto;height:18px;margin:0 8px 0 0;vertical-align:-3px}
.who-head{display:flex;gap:14px;align-items:center;margin:10px 0}

.family-home{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:14px}.family-home-person{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.family-member-group{list-style:none;font-size:13px;color:var(--muted);margin-top:8px;display:flex;justify-content:space-between}
.family-start{margin-bottom:22px}.family-away-title{font-size:18px;margin:8px 0}
.who{justify-items:stretch;max-width:640px;margin:0 auto}.who>h1,.who>p,.who>.who-actions{justify-self:center;text-align:center}
.who-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:14px;margin:14px 0;max-width:none}
.who-tile .who-dot{width:76px;height:76px;font-size:30px}
.pin-pad{justify-items:center}
/* 카드 다음 단계 (2026-10-26) */
.note-card-result{display:grid;gap:8px;padding:14px;border-radius:10px;background:#eef1e8}.note-card-result p{margin:0}
.note-card-done{font-weight:700;font-size:16px}.note-card-done span{color:var(--green)}
.note-card-next{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.note-card-actions .button small{font-weight:400;font-size:12px;opacity:.85;margin-left:4px}
.family-note.just-shared{outline:2px solid var(--gold);outline-offset:3px}.just-shared-label{margin:0 0 6px;font-size:12px;font-weight:700;color:var(--gold)}
/* 가족 노트 피드 (2026-10-26) */
.family-head h1{margin-bottom:4px}.family-home{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.family-home-person{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px 10px 3px 3px;font-size:14px}
.family-home-person .fam-avatar{width:24px;height:24px;font-size:12px}
.fam-avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff;font-weight:700;font-size:15px;flex:none}
.fam-filters{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 4px}
.fam-day{font-size:13px;color:var(--muted);font-weight:700;letter-spacing:.5px;margin:22px 0 8px}
.fam-item{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin:0 0 12px;display:grid;gap:8px}
.fam-item-head{display:flex;gap:10px;align-items:center}.fam-item-head span{display:grid}.fam-item-head small{color:var(--muted);font-size:12px}
.fam-where{margin:0;font-size:13px;color:var(--muted)}.fam-where .text-button{padding:0;font-size:13px}
.fam-quote{margin:0;padding:2px 0 2px 14px;border-left:3px solid var(--gold);font-family:var(--serif);font-size:17px;line-height:1.75}
.fam-body{margin:0;line-height:1.7}
.fam-spoiler summary{cursor:pointer;color:var(--muted);font-size:14px;padding:8px 0}
.fam-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fam-like{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:6px 14px;font-size:14px;color:var(--ink);cursor:pointer}
.fam-like.on{border-color:#b36a5e;color:#b36a5e;background:#f6e8e4}
.family-reactions{border-top:1px solid var(--line);margin-top:4px;padding-top:10px;display:grid;gap:8px}
.family-comments{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px}
.family-comments li{display:flex;gap:8px;align-items:flex-start}.family-comments .fam-avatar{width:24px;height:24px;font-size:11px}.family-comments small{color:var(--muted)}
.fam-comment{display:flex;gap:8px;align-items:center}.fam-comment input{flex:1;min-height:40px;font-size:14px}
.fam-empty{text-align:center;padding:30px 10px;display:grid;gap:10px;justify-items:center}
.fam-item.just-shared{outline:2px solid var(--gold);outline-offset:3px}
/* 밖으로 공유 (2026-10-26) */
.note-card-actions[role=group]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.card-place{display:grid;justify-items:center;gap:4px;padding:10px 4px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-size:13px;cursor:pointer}
.card-place .place-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#fff;font-weight:700;font-size:15px;background:#5b665a;overflow:hidden}
.card-place .place-icon svg{width:22px;height:22px;display:block}
.place-instagram .place-icon{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
.place-kakao .place-icon{background:#fee500}.place-kakao .place-icon svg,.place-line .place-icon svg{width:30px;height:30px}.place-telegram .place-icon svg{width:40px;height:40px}
.place-line .place-icon{background:#06c755}.place-telegram .place-icon{background:#fff}.place-telegram .place-icon{border-radius:50%}
.place-sms .place-icon{background:#34c759}.place-whatsapp .place-icon{background:#25d366}
.place-copy .place-icon{background:#6c6e62}.place-save .place-icon{background:#526344}.place-more .place-icon{background:#798366}
.note-card-link-line{display:flex;gap:8px;align-items:center}.note-card-link-line input{flex:1;min-height:36px;font-size:13px}
.share-page{max-width:560px;margin:0 auto;padding:24px 16px 48px;display:grid;gap:14px}.share-brand{font-family:var(--serif);font-weight:700;color:var(--green);text-decoration:none}
.share-card{width:100%;height:auto;border-radius:12px;box-shadow:0 6px 24px #0002}.share-page blockquote{margin:0;font-family:var(--serif);font-size:19px;line-height:1.8}
.share-thought{color:var(--muted)}
