*{box-sizing:border-box;}
:root{--kyyeu-accent:#5B6B4A; --kyyeu-heading-font:'Philosopher','Marcellus',serif; --kyyeu-heading-scale:1;}
html{background:#F6F1E4;}
body{margin:0; background:var(--kyyeu-bg,#F6F1E4); color:#3A3A2E; font-family:'Literata',serif; line-height:1.75;}
.wrap{max-width:700px; margin:0 auto;}
@media (prefers-reduced-motion: reduce){ *{transition-duration:.001s !important;} }

.cover{padding:54px 24px 24px; text-align:center;}
.eyebrow{font-size:11px; letter-spacing:.3em; color:var(--kyyeu-accent); margin-bottom:20px;}
.specimen-cover{position:relative; width:200px; height:230px; margin:0 auto 22px; background:#fff; padding:12px; box-shadow:0 12px 28px rgba(58,58,46,.16);}
.specimen-cover img{width:100%; height:100%; object-fit:cover; filter:saturate(.88) contrast(1.02);}
.cover-tape{position:absolute; width:58px; height:20px; background:rgba(226,214,186,.85); box-shadow:0 1px 3px rgba(0,0,0,.1);}
.cover-tape.left{top:-9px; left:16px; transform:rotate(-6deg);}
.cover-tape.right{bottom:-9px; right:16px; transform:rotate(-4deg);}
.cover h1{font-family:var(--kyyeu-heading-font); font-size:calc(34px * var(--kyyeu-heading-scale)); margin:0 0 4px; color:var(--kyyeu-accent); letter-spacing:.02em;}
.latin-sub{font-style:italic; font-size:14px; color:#8A8A72; margin:0 0 6px !important;}
.cover p{margin:0; font-size:13.5px; color:#6E6E5A;}

.section{padding:46px 24px 8px;}
.section-head{text-align:center; margin-bottom:28px;}
.section h2{font-family:var(--kyyeu-heading-font); font-size:calc(26px * var(--kyyeu-heading-scale)); color:var(--kyyeu-accent); margin:0 0 4px;}
.section .sub{font-size:13px; color:#8A8A72;}

/* MẪU VẬT ÉP KHÔ */
.herbarium-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.specimen{margin:0; background:#FFFDF7; padding:14px 14px 0; box-shadow:0 8px 20px rgba(58,58,46,.1); border:1px solid #E4DCC6; cursor:pointer;}
.specimen-frame{position:relative; overflow:hidden;}
.specimen-frame img{width:100%; height:160px; object-fit:cover; display:block; filter:saturate(.85) sepia(.08);}
.vellum{
  position:absolute; inset:0; background:rgba(246,241,228,.92);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .5s ease, transform .5s ease; transform-origin:left center;
  font-size:11.5px; letter-spacing:.15em; color:#8A8A72; text-transform:uppercase;
  border-right:1px solid rgba(180,170,140,.4);
}
.specimen.revealed .vellum{opacity:0; transform:rotateY(-95deg);}
.specimen-label{padding:12px 4px 16px; text-align:center; border-top:1px solid #EDE6D2; margin-top:12px;}
.label-no{display:block; font-size:10px; letter-spacing:.2em; color:#A8A88E;}
.label-name{display:block; font-size:14px; color:#3A3A2E; margin-top:4px;}
.label-latin{display:block; font-family:var(--kyyeu-heading-font); font-style:italic; font-size:12.5px; color:var(--kyyeu-accent); margin-top:3px;}
@media(max-width:520px){.herbarium-grid{grid-template-columns:1fr;} .specimen-frame img{height:190px;}}

.see-full{text-align:center; margin:26px 0 0;}
.see-full a{font-family:var(--kyyeu-heading-font); font-size:15px; color:var(--kyyeu-accent); text-decoration:none; border-bottom:1px solid var(--kyyeu-accent);}

/* GHI CHÚ NGƯỜI SƯU TẦM */
.field-notes{max-width:520px; margin:0 auto;}
.field-note{position:relative; background:#FFFDF7; border:1px solid #E4DCC6; padding:18px 20px 16px 26px; margin-bottom:16px;}
.field-note::before{content:""; position:absolute; left:12px; top:14px; bottom:14px; width:1px; background:#D8CDAE;}
.field-note p{margin:0 0 8px; font-size:14.5px;}
.field-note cite{font-family:var(--kyyeu-heading-font); font-style:italic; font-size:13.5px; color:var(--kyyeu-accent);}

.share{margin:50px 24px 30px; padding:36px 24px; text-align:center; background:var(--kyyeu-accent); color:#F6F1E4;}
.share h2{font-family:var(--kyyeu-heading-font); font-size:26px; margin:0 0 6px;}
.share p{font-size:13px; margin:0 0 18px; opacity:.85;}
#qrcode{background:#fff; display:inline-block; padding:8px; margin-bottom:14px;}
.link-row{display:flex; justify-content:center; gap:8px; flex-wrap:wrap; font-size:13px;}
.link-row code{background:rgba(246,241,228,.14); padding:6px 12px;}
.link-row button{background:#F6F1E4; color:var(--kyyeu-accent); border:none; padding:6px 14px; font-size:12.5px; font-weight:700; cursor:pointer;}

.foot{text-align:center; font-size:12px; color:#8A8A72; padding:0 20px 40px;}

/* MẪU VẬT ĐẶC BIỆT */
.featured-specimen{max-width:480px; margin:0 auto; background:#FFFDF7; border:1px solid #E4DCC6; padding:16px 16px 0; box-shadow:0 12px 28px rgba(58,58,46,.13); position:relative;}
.featured-specimen::before{content:"SPECIMEN PRINCIPALIS"; position:absolute; top:-10px; left:50%; transform:translateX(-50%);
  background:var(--kyyeu-accent); color:#F6F1E4; font-size:9.5px; letter-spacing:.18em; padding:4px 14px;}
.featured-specimen img{width:100%; height:280px; object-fit:cover; display:block; filter:saturate(.88) sepia(.06);}
.featured-specimen figcaption{padding:16px 4px 20px; text-align:center; border-top:1px solid #EDE6D2; margin-top:14px;}
.fs-name{display:block; font-family:var(--kyyeu-heading-font); font-size:19px; color:var(--kyyeu-accent);}
.fs-note{display:block; font-size:13px; color:#7A7A64; font-style:italic; margin-top:6px;}

/* BẢNG PHÂN LOẠI */
.taxonomy-table{width:100%; max-width:520px; margin:0 auto; border-collapse:collapse; background:#FFFDF7; border:1px solid #E4DCC6; font-size:13.5px;}
.taxonomy-table th{background:var(--kyyeu-accent); color:#F6F1E4; font-family:var(--kyyeu-heading-font); font-weight:400; padding:10px 14px; text-align:left; font-size:13px; letter-spacing:.04em;}
.taxonomy-table td{padding:11px 14px; border-bottom:1px dashed #EDE4CE; color:#3A3A2E;}
.taxonomy-table tr:last-child td{border-bottom:none;}
.taxonomy-table td:last-child{text-align:right; color:var(--kyyeu-accent); font-family:var(--kyyeu-heading-font);}

/* NHẬT KÝ MÙA */
.season-log{max-width:520px; margin:0 auto;}
.season-entry{display:flex; gap:16px; padding:14px 0; border-bottom:1px dashed #E4DCC6;}
.season-entry:last-child{border-bottom:none;}
.se-season{font-family:var(--kyyeu-heading-font); font-style:italic; color:var(--kyyeu-accent); font-size:15px; min-width:76px; flex-shrink:0;}
.season-entry p{margin:0; font-size:14px; color:#4A4A3C;}
