/* Curiosity House / Let Love Bloom visual identity — controls & presentation only. */
:root {
  --bloom-cream:#f9f3e3;
  --bloom-paper:#fffaf0;
  --bloom-rose:#b8557f;
  --bloom-raspberry:#a84878;
  --bloom-blush:#fae7ed;
  --bloom-meadow:#8aa976;
  --bloom-ink:#40594c;
  --bloom-muted:#687669;
  --bloom-border:#e8dccc;
}
html{scroll-behavior:smooth}
body,
body:has(.w){
  display:block;
  min-height:100svh;
  margin:0;
  color:var(--bloom-ink);
  background:
    radial-gradient(circle at 13% 3%,rgba(242,184,204,.34),transparent 28%),
    radial-gradient(circle at 95% 45%,rgba(170,204,151,.24),transparent 39%),
    linear-gradient(180deg,#f9f3e3 0%,#fff9ee 47%,#f6f5e9 100%);
}
.bloom-site-header{
  width:100%;
  background:rgba(255,250,240,.95);
  border-bottom:1px solid var(--bloom-border);
  box-shadow:0 1px 0 rgba(255,255,255,.6);
}
.bloom-topbar{max-width:1180px;min-height:76px;margin:0 auto;padding:8px 24px;
  display:flex;gap:18px;align-items:center;justify-content:space-between}
.bloom-home-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--bloom-ink)}
.bloom-logo{display:block;width:52px;height:49px;object-fit:contain;flex:0 0 auto}
.bloom-brand-name{display:block;font:normal 1.25rem Georgia,serif;letter-spacing:-.03em;line-height:1.1}
.bloom-brand-sub{display:block;margin-top:4px;font:700 .63rem 'Trebuchet MS',system-ui,sans-serif;
  text-transform:uppercase;letter-spacing:.12em;color:#917f74}
.bloom-back{font:700 .83rem 'Trebuchet MS',system-ui,sans-serif;display:inline-flex;align-items:center;
  padding:10px 16px;border:1px solid #e9c4cf;border-radius:30px;background:#fff9f7;
  text-decoration:none;color:var(--bloom-raspberry);white-space:nowrap}
.bloom-back:hover,.bloom-back:focus-visible{background:var(--bloom-blush)}
main,.w{
  background:rgba(255,250,240,.92);
  border:1px solid var(--bloom-border);
  box-shadow:0 18px 55px rgba(116,85,78,.10),inset 0 1px 0 #fff;
  border-radius:26px;
  margin:27px auto 48px;
  padding:25px 23px 24px;
}
main{max-width:min(760px,calc(100% - 24px))}
.w{width:min(760px,calc(100% - 24px))}
h1{color:var(--bloom-raspberry);letter-spacing:.035em}
.sub{color:#a06885;opacity:1}
.intro,.key,.hint{color:var(--bloom-muted);opacity:1}
.status,#s{color:var(--bloom-ink);font-weight:600}
#board,svg#board{filter:drop-shadow(0 11px 14px rgba(72,60,50,.19))}
button{
  background:linear-gradient(180deg,#fffdf9,#fbe8eb);
  color:#6e4055;
  border:1px solid #deb8c5;
  border-radius:13px;
  box-shadow:0 2px 0 rgba(172,82,113,.08);
  font-family:Georgia,serif;
  font-weight:700;
  transition:background .14s ease,transform .14s ease,box-shadow .14s ease;
}
button:hover{background:#f6d9e5;transform:translateY(-1px);box-shadow:0 3px 8px rgba(172,82,113,.12)}
button:active{transform:translateY(0)}
button:focus-visible,a:focus-visible{outline:3px solid #b8557f;outline-offset:3px}
.controls{row-gap:10px}
.controls div,.g{color:#6b6358}
.extras{flex-wrap:wrap}
.extras button{border-radius:999px;padding:9px 15px}
.counts span{
  color:#536551;background:#f5f4e9;border:1px solid #d3d6bd;
  border-radius:10px;padding:8px;
}
.counts .matched{background:#eaf1db;color:#45653d;border-color:#94b276}
a{color:var(--bloom-raspberry)}
a:hover{color:#7d2f54}
#next-level:not([hidden]){
  display:inline-block;padding:10px 19px;border:1px solid #d5a0b5;
  color:#fff;background:#b8557f;border-radius:999px;text-decoration:none;
  box-shadow:0 6px 15px rgba(155,65,104,.14)}
/* Keep original stone/symbol art and the success glow intact. */
#keeper-open{border-color:#deb8c5;background:#fff7f7;color:#6e4055}
#keeper-dialog{
  color:#40594c;background:linear-gradient(155deg,#fffaf0,#f8edf0 75%);
  border:2px solid #deb8c5;box-shadow:0 16px 65px rgba(84,45,60,.32);
}
#keeper-dialog::backdrop{background:#392c33ad;backdrop-filter:blur(3px)}
.keeper-heading h2,.keeper-steps strong{color:#a84878}
.willow-says{color:#6a756b}
#willow-victory{color:#536e52}
#centre-next[aria-disabled="false"]{cursor:pointer}
.bloom-footer{padding:0 18px 30px;text-align:center;color:#957e84;font:12px/1.5 'Trebuchet MS',system-ui,sans-serif}
@media(max-width:600px){
  .bloom-topbar{padding:9px 13px;min-height:64px;gap:8px}
  .bloom-logo{width:43px;height:42px}
  .bloom-brand-name{font-size:1.1rem}
  .bloom-brand-sub{font-size:.56rem;letter-spacing:.06em}
  .bloom-back{font-size:.75rem;padding:9px 10px}
  main,.w{max-width:calc(100% - 14px);width:calc(100% - 14px);margin:12px auto 24px;padding:15px 10px 18px;border-radius:18px}
  .counts{gap:6px}
}
@media(min-width:700px) and (max-height:900px){
  .bloom-topbar{min-height:56px;padding-top:4px;padding-bottom:4px}
  .bloom-logo{width:43px;height:41px}
  main,.w{margin-top:8px;padding-top:12px;padding-bottom:12px}
  #board{width:min(100%,550px,calc(100dvh - 292px));max-height:calc(100dvh - 292px)}
}
@media(prefers-reduced-motion:reduce){button{transition:none}}


/* Bloom pastel stones 2026-11-07 — visual changes only.
   Three subtly weathered, readable rings: rose, meadow, lavender.
   Keep the ember-gold seal feedback and the original engraving. */
#board{filter:drop-shadow(0 12px 16px rgba(95,62,86,.18))}
#board .rune path{stroke:#574654;stroke-width:2.65;filter:drop-shadow(0 1px 0 rgba(255,255,255,.28))}
#board .matched .rune path{stroke:#fff0bd;stroke-width:2.85;filter:drop-shadow(0 0 3px #b88734) drop-shadow(0 0 7px #dfb95f)}
#board .matched rect{fill:#6b5266;stroke:#f4d58c}
#board.complete #rim{stroke:#f5d998;filter:drop-shadow(0 0 7px #d4ac61)}
#board .cut{stroke:#604d60;filter:drop-shadow(0 1px 1px #fdf5fb88)}
#board .cut2{stroke:#3e3543}
#board .stone{stroke:#645264}
#board .blue{stroke:#78becb;filter:drop-shadow(0 0 5px #7dccd2)}
#board .pink{stroke:#d987aa;filter:drop-shadow(0 0 5px #e4a1c0)}
#board .socketB.live{fill:#78becb;filter:drop-shadow(0 0 5px #7dccd2)}
#board .socketP.live{fill:#d987aa;filter:drop-shadow(0 0 5px #e4a1c0)}
.progress .blue-label{color:#47899a!important}
.progress .pink-label{color:#b05279!important}
/* Keep primary stone symbols clearly visible on pale stone. */
#board .complete .rune path{stroke:#fff0bd}
