/* Three-column notebook; catalog remains independent. */
.notebook .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.notebook .notebook-tile,.notebook .notebook-tile:last-child:nth-child(odd){grid-column:auto;min-width:0;padding:5px 3px;border-radius:16px;display:block}
.notebook .notebook-tile .card-art,.notebook .notebook-tile:last-child:nth-child(odd) .card-art{height:auto;aspect-ratio:1}
.notebook .notebook-tile h3{font-size:clamp(11px,3.1vw,14px);line-height:1.5;letter-spacing:0;margin:0;overflow-wrap:anywhere}
.notebook .notebook-tile .meta{padding:5px 0}
.notebook .notebook-tile .stamp{width:35px;height:35px;top:3px;right:1px}
.notebook .is-unfound:disabled{cursor:default;opacity:1;color:#877e71;background:#f5efe5;border-color:#e1d8c9;box-shadow:none;transform:none}
.notebook .is-unfound .mystery img{opacity:.18;filter:grayscale(1)}
main.just-found{animation:none}
.detail-art .stamp-arrival{animation:stamp-arrival .34s ease-out both}
@keyframes stamp-arrival{0%{opacity:0;transform:translateY(-18px) scale(1.08) rotate(-19deg)}55%{opacity:1;transform:translateY(1px) scale(.96) rotate(-13deg)}78%{transform:translateY(0) scale(1.06) rotate(-13deg)}100%{opacity:.95;transform:translateY(0) scale(1) rotate(-13deg)}}
.undo-area{border-top:1px solid var(--line);margin-top:26px;padding:10px 0 80px;text-align:center}
.undo-area .undo{font-size:13px;color:var(--muted);min-height:44px;padding:8px 14px;margin:0 auto}
.undo-dialog{border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);padding:24px;max-width:calc(100vw - 36px);width:340px;box-shadow:0 10px 35px #493e3225}
.undo-dialog::backdrop{background:#493e324d}
.undo-dialog h2{font-size:18px;line-height:1.7;margin-bottom:22px}
.undo-dialog form{display:flex;gap:12px}.undo-dialog button{min-height:48px;flex:1;background:#fffaf2;border:1px solid #cbbfae;border-radius:14px;font-size:15px}.undo-dialog button:focus-visible{outline:2px solid var(--sea);outline-offset:3px}
.three-doors .motif-stories img{transform:scale(1.5)}
#app img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
#app .plant-art,#app .cover-scene,#app .walk-card,#app .watercolor-motif{-webkit-touch-callout:none}
@media(prefers-reduced-motion:reduce){.detail-art .stamp-arrival{animation:none}}

/* 画像未掲載の植物にも空の画像URLを出さない */
.art-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:#8b9b80;gap:8px}.art-placeholder>span{font-size:54px;opacity:.45}.art-placeholder small{font-size:12px;color:#746f65}.full-art .art-placeholder>span{font-size:90px}.notebook-tile.is-unfound .art-placeholder small{visibility:hidden}

.plant-alias{font-size:13px}.plant-caution{margin:24px 0;padding:18px 20px;border:1px solid #dce3cf;border-radius:22px;background:#edf0e3;color:#655b4e}.plant-caution p{margin:0;font-size:15px;line-height:1.9}.detail .bird-note{height:86px;min-height:86px}.detail .bird-note p{width:max-content;min-width:0;max-width:min(156px,calc(100% - 40px));padding:10px 14px;overflow-wrap:anywhere}
/* 追加7種：透過素材全体を枠内に収め、縦横比を維持 */
.plant .card-art:not(.hamayuu):not(.hamagou):not(.hamahirugao) img{width:100%;height:100%;object-fit:contain;object-position:50% 50%}

/* 水彩を主役に、実写真は小さな観察メモとして添える */
.real-photos{margin:24px 0;padding:18px;background:#f6efe2;border-radius:20px}.real-photos h2{font-size:18px;margin:0 0 10px}.real-photos>p{font-size:14px;line-height:1.9;margin:0;color:#756b5c}.photo-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px}.photo-comparison figure{min-width:0;margin:0}.photo-comparison img{display:block;width:100%;height:150px;object-fit:contain;border-radius:12px}.photo-comparison figcaption{font-size:13px;line-height:1.8;margin-top:7px}.photo-comparison small{display:block;font-size:11px;color:#756b5c}

/* 実写真は海辺の背景を残し、下部の花・実に焦点を合わせる */
.photo-comparison img{height:auto;aspect-ratio:1;object-fit:cover}.photo-comparison figure:only-child img{aspect-ratio:3/2;max-height:200px}

.about-section{margin:12px 0 28px}.about-section+.about-section{padding-top:24px;border-top:1px solid #dfd4bf}.about-section h2{font-size:19px;margin:0 0 18px}.about-section p{line-height:2;margin:0 0 18px}.about-section .about-invitation{color:#417f76;font-weight:600;background:#e2ece3;padding:12px 14px;border-radius:14px;margin:22px 0 14px}
