@import url('https://fonts.googleapis.com/css2?family=Lora:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');
:root{--bg:#f7f2ea;--card:#fffdf9;--ink:#2d2420;--muted:#7d6e64;--accent:#8a4f2f;--accent2:#5f7d45;--line:#eadfd2}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand,.display{font-family:Lora,Georgia,serif}a{color:var(--accent)}
header{position:sticky;top:0;z-index:5;background:rgba(255,253,249,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.6rem 1rem;gap:.4rem}
header a{color:var(--ink);text-decoration:none;margin-right:.9rem;font-weight:500;font-size:.95rem}header a:hover{color:var(--accent)}.brand{font-weight:700;font-size:1.15rem;color:var(--accent)!important}
nav{display:flex;align-items:center;flex-wrap:wrap;gap:.1rem}
button,.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:.5rem 1rem;font:500 15px Inter,sans-serif;cursor:pointer;text-decoration:none;transition:.15s}
button:hover,.btn:hover{filter:brightness(1.08)}button.sec{background:#efe5d9;color:var(--ink)}.btn.big{font-size:1.1rem;padding:.8rem 2.2rem;box-shadow:0 6px 18px #8a4f2f40;margin:.6rem 0}
#lang{background:#efe5d9;color:var(--ink);padding:.3rem .7rem;font-size:.85rem}
main{max-width:860px;margin:auto;padding:1rem}
input,textarea,select{width:100%;padding:.65rem .8rem;border:1px solid var(--line);border-radius:10px;font:16px Inter,sans-serif;margin:.25rem 0 .7rem;background:#fff}
input:focus,textarea:focus{outline:2px solid #8a4f2f55;border-color:var(--accent)}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem 1.2rem;margin:.9rem 0;box-shadow:0 2px 10px #5a3a2210}
.list a{display:block;padding:.7rem .4rem;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.list a:last-child{border:0}.list a:hover{background:#f6eee4}
.u{background:#fff4cf;border:1px dashed #c9a227;border-radius:6px;padding:0 .35rem;font-size:.75em;margin-left:.35rem;font-family:Inter}
.muted{color:var(--muted);font-size:.9em}.small{font-size:.82em}
.chips a{display:inline-block;background:#f1e7db;border-radius:999px;padding:.25rem .8rem;margin:.2rem;color:inherit;text-decoration:none}.chips a.unc{border:1px dashed #c9a227}
h1{margin:.3rem 0;font-size:1.7rem}h3{margin:.4rem 0 .4rem;color:var(--accent)}
.hero{text-align:center;padding:2rem 1rem 2.5rem;background:radial-gradient(ellipse at top,#fff9ef,transparent 70%)}
.tree-art{width:180px;height:auto;margin-bottom:.5rem}.eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;color:var(--accent2);font-weight:600;margin:0}
.display{font-size:clamp(2.2rem,8vw,3.6rem);margin:.2rem 0 .6rem;color:var(--ink)}.lead{max-width:560px;margin:0 auto 1rem;font-size:1.08rem;color:#4a3d36}
.stat{display:table;margin-left:auto!important;margin-right:auto!important;background:#eef3e6;color:#3f5a2c;border-radius:999px;padding:.35rem 1rem;margin:.4rem 0 .6rem}.stat b{font-size:1.15rem}.hint{margin:.6rem 0 .3rem}
#tree{width:100%;height:calc(100vh - 150px);background:var(--card);border:1px solid var(--line);border-radius:16px;touch-action:none;cursor:grab}
.node rect{fill:#fff;stroke:var(--accent);rx:10}.node.unc rect{stroke:#c9a227;stroke-dasharray:4}.node.focus rect{fill:#f7e3cf}.node text{font:12px Inter,sans-serif}
.photos img{max-width:100%;border-radius:10px;margin:.3rem 0}table{width:100%;font-size:.85em;border-collapse:collapse}td{border-bottom:1px solid var(--line);padding:.4rem;vertical-align:top}
@media(max-width:560px){header{padding:.5rem .7rem}header a{margin-right:.6rem;font-size:.9rem}main{padding:.7rem}.card{padding:.85rem 1rem}}
#er{color:#b3261e;font-weight:500}
main.wide{max-width:none;padding:.5rem .75rem}
main.wide #tree{height:calc(100vh - 105px);height:calc(100dvh - 105px)}
.quick{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.quick button{flex:1 1 auto}
.picker{margin-top:.7rem;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:#fff}.picker .list a{padding:.6rem .3rem}.newp{padding:.4rem 0}
/* hub theme: deep blue, embroidery red, cream */
:root{--blue:#1f3f66;--red:#b3262e;--cream:#fbf5ea}
.bx{color:var(--red);font-size:.9em}
main.hubmode{max-width:none;padding:0}
main.hubmode>section,main.hubmode>footer{max-width:980px;margin-left:auto;margin-right:auto}
.hero{position:relative;max-width:none!important;padding:0;text-align:center;min-height:clamp(340px,62vh,560px);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:#173452}
.hero-art{position:absolute;inset:0;width:100%;height:100%}
.hero-in{position:relative;padding:2rem 1rem 2.4rem;width:100%;background:linear-gradient(transparent,rgba(16,34,56,.82) 45%);color:var(--cream)}
.hero .eyebrow{color:#f3d9a4}.hero .display{color:#fff;text-shadow:0 2px 12px #0006;margin:.1rem 0 .4rem}.hero .lead{color:#f4ead8;margin:0 auto}
.band{height:14px;max-width:none!important;background:
 repeating-linear-gradient(45deg,transparent 0 5px,var(--red) 5px 7px,transparent 7px 12px),
 repeating-linear-gradient(-45deg,transparent 0 5px,var(--red) 5px 7px,transparent 7px 12px),var(--cream);
 border-top:2px solid var(--red);border-bottom:2px solid var(--red);opacity:.85}
.intro{text-align:center;padding:1.4rem 1rem .4rem}.intro p{max-width:640px;margin:.4rem auto}
.hub{display:grid;grid-template-columns:1fr;gap:.8rem;padding:1rem}
@media(min-width:640px){.hub{grid-template-columns:1fr 1fr}}@media(min-width:960px){.hub{grid-template-columns:1fr 1fr 1fr}}
.hcard{display:flex;gap:.9rem;align-items:center;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:14px;padding:1rem 1.1rem;text-decoration:none;color:var(--ink);box-shadow:0 2px 10px #1f3f6612;transition:.15s}
.hcard:hover{transform:translateY(-2px);box-shadow:0 8px 22px #1f3f6622;border-left-color:var(--red)}
.hcard .hi{font-size:1.8rem;width:2.6rem;text-align:center}.hcard b{display:block;font-family:Lora,serif;font-size:1.15rem;color:var(--blue)}.hcard small{color:var(--muted)}
.hcard.locked{opacity:.85;border-left-color:#c9b9a5}
main.hubmode>.card{margin:1rem}
.foot{text-align:center;padding:1rem 1rem 2rem}
.ocross{vertical-align:middle}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}.gallery a{text-decoration:none;color:inherit;font-size:.85em}.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}
.prose p{max-width:680px}.prose h1{color:var(--blue)}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:30% 45%;display:block}
@media(max-width:700px){.hero-art img{object-position:50% 40%}}
