/* v24：延續既有視覺，互動重點色與全站主題同步。 */
.bottom-nav { grid-template-columns:repeat(6,minmax(0,1fr))!important; }
.bottom-nav .nav-item { min-width:0!important; padding-left:0!important; padding-right:0!important; }
.bottom-nav .nav-label { white-space:nowrap; }
.cute-page { max-width:680px; margin:0 auto; padding:12px 16px 24px; color:#654632; font-family:inherit; }
.cute-page button { font-family:inherit; cursor:pointer; color:#654632; border:1px solid #e8d6c6; background:#fffaf4; border-radius:14px; padding:10px 13px; font-size:15px; }
.cute-page button:disabled { opacity:.55; cursor:default; }
.cute-page button:focus-visible { outline:3px solid var(--coral); outline-offset:2px; }
.cute-hero { width:100%; display:block; border-radius:18px; }
.cute-heading { display:flex; align-items:center; justify-content:space-between; margin:20px 3px 18px; }
.cute-heading h1 { font-size:28px; margin:0 0 6px; font-weight:800; }
.cute-heading p { margin:0; font-size:15px; color:#98775d; }
.cute-heading>span { font-size:46px; color:#e3a58b; }
.cute-pet { display:flex; align-items:center; gap:12px; padding:14px; border:1px solid #ead8c3; border-radius:20px; background:#fff5e7; }
.cute-pet>span { width:48px; height:48px; overflow:hidden; border-radius:50%; font-size:32px; }
.cute-pet img { width:100%;height:100%;object-fit:cover; }
.cute-pet>div { flex:1;min-width:0; }
.cute-pet strong { font-size:19px; }
.cute-pet small { display:block; margin-top:3px; }
.cute-connect { padding:16px; margin:16px 0; border-radius:18px; background:var(--coral-soft); font-size:15px; }
.cute-connect p { line-height:1.55;overflow-wrap:anywhere; }
.cute-connect button { margin:0 6px 4px 0; }
.cute-calendar { margin-top:16px; background:#fffdf9; border:2px solid #ecdac5; border-radius:22px; padding:12px; box-shadow:0 4px 0 #f2e7d9; }
.cute-month { display:flex;align-items:center;justify-content:space-between; }
.cute-month h2,.cute-day h2 { font-size:18px; margin:10px 0; }
.cute-month button { font-size:26px; padding:0 14px; }
.cute-week,.cute-days { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px; }
.cute-week { text-align:center;padding:15px 0 9px;font-size:14px;color:#96765e; }
.cute-days button { aspect-ratio:.8; min-height:52px; padding:4px; display:flex;flex-direction:column;align-items:center;justify-content:flex-start; gap:3px; border-color:transparent; background:#fffaf3; font-size:16px; }
.cute-days button.selected { background:var(--coral-soft);border-color:var(--coral); }
.cute-days button.today>span:first-child { font-weight:900;text-decoration:underline;text-underline-offset:3px; }
.cute-days i { font-size:9px;color:var(--accent-strong); }
.cute-thumb { display:block; width:100%;height:32px;border-radius:7px;overflow:hidden;font-size:11px!important; }
.cute-thumb img { width:100%;height:100%;object-fit:cover; }
.cute-day { margin-top:22px; }
.cute-day-head { display:flex;align-items:center;justify-content:space-between;gap:8px; }
.cute-day-head button { background:var(--accent-strong);color:white;border:0; }
.cute-empty { text-align:center;font-size:15px;padding:26px 10px;color:#9b816a;line-height:1.7; }
.cute-entry { background:#fffaf3;border:1px solid #eadccc;border-radius:18px;padding:14px;margin:14px 0; }
.cute-entry>p { white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.7; }
.cute-photo-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.cute-photo { padding:0!important;aspect-ratio:1;overflow:hidden;font-size:12px!important; }
.cute-photo span,.cute-photo img { display:block;width:100%;height:100%;object-fit:cover; }
.cute-entry-actions { display:flex;gap:8px; margin-top:12px; }
.cute-entry-actions button { font-size:13px; }
.cute-footnote,.cute-feedback { font-size:13px;line-height:1.6;overflow-wrap:anywhere; }
.cute-footnote { color:#9b816a; }
.cute-form { display:grid;gap:14px; }
.cute-form label { display:grid;gap:8px; }
.cute-form input,.cute-form textarea { width:100%;box-sizing:border-box;font:inherit;padding:10px;border:1px solid #d9c8b6;border-radius:12px;background:#fffdf8; }
.cute-full-photo { display:block;max-width:100%;max-height:65vh;margin:auto;object-fit:contain; }
@media(max-width:380px){.bottom-nav .nav-label{font-size:13px!important}.cute-page{padding-left:10px;padding-right:10px}.cute-days{gap:2px}.cute-calendar{padding:8px}.cute-pet{gap:8px}}

.cute-sharing { margin:16px 0;padding:14px;border:1px solid #e8d6c6;border-radius:18px;font-size:14px;line-height:1.7;background:#fffaf3; }
.cute-sharing summary{cursor:pointer;font-weight:700;}
.cute-sharing ol{padding-left:22px;}
.cute-page,.cute-page *{box-sizing:border-box;}

.health-photo-section{margin:16px 0;font-size:14px;line-height:1.6}.health-photo-section small{display:block;color:var(--muted,#8b7a6a)}.health-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.health-photo-thumb{min-width:0;aspect-ratio:1;overflow:hidden;border:1px solid #ead8c3;border-radius:12px;background:#fffaf3;color:inherit;padding:0}.health-photo-thumb img{width:100%;height:100%;object-fit:cover}.health-photo-section input[type=file]{max-width:100%;box-sizing:border-box}.health-photo-section [role=status]{overflow-wrap:anywhere}

.cute-search{margin:16px 0;padding:16px;border:1px solid #e8d6c6;border-radius:18px;background:#fffaf3;overflow-wrap:anywhere}.cute-search h2{font-size:20px;margin:0 0 12px}.cute-search label{display:block;margin-bottom:8px}.cute-search-controls{display:flex;flex-wrap:wrap;gap:8px}.cute-search input{flex:1 1 180px;min-width:0;width:100%;padding:10px;font:inherit;border:1px solid #d9c8b6;border-radius:12px;background:#fffdf8}.cute-search button{min-height:44px;padding:10px 14px;border:1px solid #d9c8b6;border-radius:12px;background:#fffdf8;color:inherit;font:inherit;cursor:pointer}.cute-search-results{display:grid;gap:10px;max-height:520px;overflow:auto}.cute-search-results button{text-align:left;width:100%;min-width:0}.cute-search-results strong,.cute-search-results span{display:block}.cute-search-results span{font-size:13px}.cute-search-results p{white-space:pre-wrap;margin:8px 0}.cute-search button:focus-visible,.cute-search input:focus-visible{outline:3px solid #ad7953;outline-offset:2px}
