/* Explanations share the hero composition; they have no separate surface. */
.verify-control{display:inline;position:relative;appearance:none;border:0;border-radius:0;padding:0;margin:0;min-height:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;white-space:nowrap;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.17em}
.hero--image-led .verify-control{color:#efdfc2;text-decoration-color:#efdfc280;text-shadow:0 2px 18px #061820b3;transition:color .16s,text-decoration-color .16s,text-shadow .2s;animation:hero-definition-glow 3s ease-in-out .8s 2,hero-definition-underline .8s ease 6s 1 backwards}
.hero--image-led .verify-control::before{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
.hero--image-led .verify-control:hover,.hero--image-led .verify-control[aria-expanded=true]{color:#fff4dc;text-decoration-color:currentColor}
.hero--image-led .verify-control:hover,.hero--image-led .verify-control:focus-visible,.hero--image-led .verify-control[aria-expanded=true]{text-shadow:0 2px 18px #061820b3,0 0 6px #fff4dc70,0 0 14px #fff4dc28}
.hero--image-led .verify-control:focus-visible{outline:2px solid #efdfc2;outline-offset:5px;text-decoration-color:currentColor}
.hero--image-led .hero-shade{--reading-shade:linear-gradient(180deg,transparent 24%,#060a0e30 40%,#060a0e8c 62%,#060a0e8c)}
.hero--image-led .hero-shade::before,.hero--image-led .hero-shade::after{content:'';position:absolute;inset:0;background:var(--reading-shade)}
.hero--image-led .hero-shade::after{opacity:0;transition:opacity .16s ease}
.hero--image-led.has-definition .hero-shade::after{opacity:.32}
html[data-theme=dark] .hero--image-led .hero-shade::before{opacity:.35}
html[data-theme=dark] .hero--image-led.has-definition .hero-shade::after{opacity:.15}
/* Quiet points of discovery, positioned against the photograph by verify.js. */
.scene-control[hidden]{display:none}
.scene-control{position:absolute;z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:#e8c98f;transform:translate(-50%,-50%);cursor:pointer}
.scene-control span{display:block;width:5px;height:5px;border:0;border-radius:50%;background:currentColor;position:relative;box-shadow:0 0 3px #e8c98f66;transition:background-color .2s}
.scene-control span::before{content:'';position:absolute;inset:-8.5px;border:0;border-radius:50%;background:radial-gradient(circle,transparent 42%,#e8c98f00 46%,#e8c98f70 58%,#e8c98f26 68%,transparent 78%);pointer-events:none;opacity:.4;animation:scene-discovery 3.8s ease-out infinite}
#forest-control span::before{animation-delay:1.25s}
#sakura-control span::before{animation-delay:2.5s}
@keyframes scene-discovery{0%{transform:scale(.78);opacity:.2}35%{opacity:.7}100%{transform:scale(1.3);opacity:0}}
.scene-control:hover span::before,.scene-control:focus-visible span::before,.scene-control[aria-expanded=true] span::before{animation:none;transform:scale(1);opacity:.6}

.scene-control:hover span,.scene-control[aria-expanded=true] span{background:#fff0d0}
.scene-control:focus-visible{outline:2px solid currentColor;outline-offset:0}
.hero.has-scene-note .scene-control:not([aria-expanded=true]){opacity:.25}
.hero.has-scene-note .scene-control:focus-visible{opacity:1}
.scene-control.is-covered:not(:focus-visible) span{opacity:0}
.verify-panel[hidden]{display:none!important}
.verify-panel{--note-ink:#f8f4e9;--note-muted:#e9e4d8;position:fixed;z-index:90;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(440px,calc(100vw - 32px));max-height:70svh;margin:0;padding:12px 0 0;border:0;background:none;color:var(--note-ink);text-align:left;font:15px/1.75 var(--sans);text-shadow:0 1px 3px #0006;animation:definition-reveal .16s ease-out}
.verify-panel:focus{outline:none}
.verify-panel-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0;margin:0 0 20px}
.verify-close{display:grid;place-items:center;flex:none;width:44px;height:44px;margin:0;padding:0;border:0;background:none;color:var(--note-ink);cursor:pointer}
.verify-close:hover{color:#fff4dc}
.verify-close:focus-visible{outline:2px solid #efdfc2;outline-offset:2px}
.verify-close svg{width:18px;height:18px}
.verify-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 0 6px;scrollbar-width:thin;scrollbar-color:#e9e4d880 transparent}
.verify-content:focus-visible{outline:1px solid #efdfc2;outline-offset:4px}
.verify-content p{font:inherit;margin:0;max-width:40ch}
.verify-content p+p{margin-top:18px;color:var(--note-muted)}
.verify-title{padding:0;margin:0;color:#ecdec3;font:28px/1.16 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.verify-panel--prose .verify-panel-header{margin-bottom:10px}
.verify-panel--prose .verify-content p{max-width:none}
.name-panel .origin-formula{display:flex;align-items:baseline;gap:17px;padding:0;margin:0;color:#ecdec3;font:44px/1.1 var(--serif);letter-spacing:-.02em}
.name-panel .origin-formula>span:first-child{font:27px/1 var(--sans);letter-spacing:.02em}
.name-panel .origin-formula .origin-plus{font:20px/1 var(--sans);color:#ded7c8}
@media(max-width:760px){
 .hero--image-led .hero-shade{--reading-shade:linear-gradient(180deg,transparent 10%,#060a0e8c 32%,#060a0e8c)}
}
@media(max-width:600px){
 .verify-panel{padding-top:8px;font-size:14px;line-height:1.7}
 .verify-title{font-size:24px;line-height:1.16}
 .verify-panel-header{gap:12px;margin-bottom:16px}
 .name-panel .origin-formula{font-size:39px;gap:14px}
 .name-panel .origin-formula>span:first-child{font-size:24px}
 .name-panel .origin-formula .origin-plus{font-size:18px}
}
/* An annotation on the photograph, subordinate to its opening sentence. */
.verify-panel.scene-panel{
 --scene-art:clamp(148px,42%,216px);
 padding:0;font-size:14px;line-height:1.6;max-height:none;
 grid-template-columns:var(--scene-art) minmax(0,1fr);
 grid-template-rows:auto auto;column-gap:20px;row-gap:0;
 text-shadow:0 1px 3px #061820,0 0 14px #061820b3;isolation:isolate
}
.scene-panel::before{
 content:'';position:absolute;inset:-24px;
 z-index:-1;pointer-events:none;
 background:radial-gradient(ellipse,#061820c2 0%,#0618209c 45%,#06182000 78%)
}
.scene-panel .scene-specimen{
 position:absolute;top:0;left:0;display:block;
 min-width:0;min-height:0;width:var(--scene-art);height:100%;max-height:none;
 object-fit:contain;object-position:right bottom;pointer-events:none;
 filter:brightness(.98) contrast(1.04) saturate(.96);opacity:1
}
html[data-theme=dark] .scene-panel .scene-specimen{
 filter:brightness(.88) contrast(1.06) saturate(.92);opacity:1
}
/* Woodland specimens share the photograph's subdued ambient light. */
#forest-definition{--scene-art:clamp(180px,45%,276px)}
#forest-definition .scene-specimen{
 object-position:right bottom;
 filter:brightness(1) contrast(1.04) saturate(.94)
}
html[data-theme=dark] #forest-definition .scene-specimen{
 filter:brightness(.9) contrast(1.04) saturate(.9)
}
#zebra-definition .scene-specimen{
 filter:brightness(.80) contrast(1.02) saturate(.84)
}
html[data-theme=dark] #zebra-definition .scene-specimen{
 filter:brightness(.72) contrast(1.04) saturate(.78)
}
#sakura-definition .scene-specimen{
 filter:brightness(.96) contrast(1.1) saturate(1.24)
}
html[data-theme=dark] #sakura-definition .scene-specimen{
 filter:brightness(.90) contrast(1.08) saturate(1.2)
}
.scene-panel .verify-panel-header{
 grid-column:2;grid-row:1;position:relative;align-items:flex-start;
 min-height:0;gap:0;margin:0 0 10px;padding-right:32px
}
.scene-panel .verify-title{font-size:20px;line-height:1.2}
.scene-panel .verify-close{position:absolute;right:-10px;top:-10px}
.scene-panel .verify-content{grid-column:2;grid-row:2;overflow:visible;padding:0}
.scene-panel .verify-content p{max-width:none}
.scene-panel .verify-content p+p{margin-top:12px;color:inherit}
.scene-panel.is-text-only{grid-template-columns:minmax(0,1fr);column-gap:0}
.scene-panel.is-text-only .scene-specimen{display:none}
.scene-panel.is-text-only .verify-panel-header,
.scene-panel.is-text-only .verify-content{grid-column:1}
.scene-panel.is-text-only::before{left:-24px}
/* Overflow is retained only as an accessibility fallback after wider/text-only fitting. */
.verify-panel.scene-panel.is-constrained{grid-template-rows:auto minmax(0,1fr)}
.scene-panel.is-constrained .verify-content{overflow-y:auto}
/* Mobile notes keep the title and explanation together below the specimen. */
@media(max-width:480px){
 .verify-panel.scene-panel{
  display:flex;flex-direction:column;align-items:stretch;gap:0
 }
 .scene-panel .scene-specimen{
  position:static;order:0;flex:none;align-self:flex-start;
  width:144px;height:144px;margin:0 0 10px;object-position:left bottom
 }
 #forest-definition .scene-specimen{width:min(216px,calc(100% - 44px));height:144px;object-position:left bottom}
 .scene-panel .verify-panel-header{
  position:static;order:1;flex:none;align-self:stretch;margin:0 0 8px;padding-right:0
 }
 .scene-panel .verify-close{right:-10px;top:-10px}
 .scene-panel .verify-content{order:2;min-height:0}
 .scene-panel::before{left:-24px}
 .scene-panel.is-text-only .verify-panel-header{padding-right:32px}
}
@media(max-width:360px){
 .verify-panel.scene-panel{font-size:13px;line-height:1.55}
}
@media(max-width:480px) and (max-height:640px){
 .scene-panel .scene-specimen{width:84px;height:84px;margin-bottom:10px}
 #forest-definition .scene-specimen{width:min(150px,calc(100% - 44px));height:100px}
}

.hero--image-led.has-scene-note .hero-shade::after{background:linear-gradient(180deg,#06182040,#06182080 50%,#06182038);opacity:1}
html[data-theme=dark] .hero--image-led.has-scene-note .hero-shade::after{opacity:.65}
/* Two invitation pulses; the fixed underline fades in as the final glow settles. */
@keyframes hero-definition-glow{
 0%,100%{text-shadow:0 2px 18px #061820b3,0 0 6px #efdfc200,0 0 14px #efdfc200}
 45%,55%{text-shadow:0 2px 18px #061820b3,0 0 6px #efdfc278,0 0 14px #efdfc22e}
}
@keyframes hero-definition-underline{from{text-decoration-color:transparent}to{text-decoration-color:#efdfc280}}
@keyframes definition-reveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.scene-control span::before{animation:none;transform:none;opacity:.35}.hero--image-led .verify-control{animation:none}.hero--image-led .verify-control,.hero--image-led .hero-shade::after{transition:none}.verify-panel{animation:none}}
@media print{.scene-control{display:none}.verify-panel{display:none!important}.verify-control{text-decoration:none;text-shadow:none;animation:none}.hero--image-led .hero-shade::before,.hero--image-led .hero-shade::after{display:none}}
