.dialog-open{overflow:hidden}.story-dialog{margin:auto;width:min(640px,calc(100% - 40px));max-height:min(82dvh,820px);overflow:auto;overscroll-behavior:contain;padding:44px;border:1px solid #d0a889;border-radius:22px;background:#fff5ec;color:#58453e;box-shadow:0 28px 100px #46261c40}.story-dialog::backdrop{background:#4d302c80;backdrop-filter:blur(7px);animation:backdrop-appear .3s ease-out}.dialog-close{position:absolute;right:14px;top:14px;width:44px;height:44px;border:1px solid #d8b9a1;border-radius:50%;background:#fbe9df;display:grid;place-items:center;color:#6c4938}.dialog-close .ui-icon{transform:rotate(45deg);width:22px;height:22px}.dialog-heading{display:flex;gap:24px;align-items:center;padding-right:20px;margin-bottom:28px}.dialog-portrait{width:94px;height:116px;object-fit:cover;border-radius:48px 48px 6px 6px;filter:sepia(.2) grayscale(.7);flex-shrink:0}.dialog-country{font-size:12px;color:#72513f;line-height:1.6;margin-bottom:8px}.dialog-heading h2{font-family:var(--serif);font-size:33px;line-height:1.2}.dialog-body{font-size:15px;line-height:1.85;color:#6b5142}.dialog-body p+p{margin-top:15px}.dialog-body ul{padding-left:20px;margin-top:20px}.dialog-body li+li{margin-top:12px}.component-icon{order:-1;width:56px;height:56px;flex:0 0 56px;object-fit:contain;background:#f6e4d4;border-radius:12px;padding:5px}.drag-ghost .component-icon{width:65px;height:65px;flex-basis:65px;background:none;padding:0}.component-photo{filter:drop-shadow(1px 3px 2px #76533133)}#copper image:first-child{transform-origin:252px 333px;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}#copper image:last-child{transform-origin:257px 333px;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}#flower.lit #copper image:first-child{transform:rotate(42deg)}#flower.lit #copper image:last-child{transform:rotate(-42deg)}#flower.lit #led{filter:brightness(1.2) drop-shadow(0 0 6px #fff8dc)}@keyframes backdrop-appear{from{background:#4d302c00;backdrop-filter:blur(0)}to{background:#4d302c80;backdrop-filter:blur(7px)}}
@media(max-width:640px){.story-dialog{width:calc(100% - 28px);max-height:84dvh;padding:62px 24px 28px;border-radius:20px}.dialog-heading{gap:17px;padding:0;margin-bottom:23px}.dialog-heading h2{font-size:28px}.dialog-portrait{width:76px;height:98px}.dialog-body{font-size:14px}.dialog-country{font-size:11px}.component-icon{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){.story-dialog::backdrop{animation:none}}

/* The right leaf folds across the stem: its reverse face covers the circuit. */
.leaf-right,.leaf-cover{transform-style:preserve-3d;transition:transform .9s cubic-bezier(.4,0,.2,1);transform:perspective(650px) rotateY(0deg)}
.leaf-right{backface-visibility:hidden}
.leaf-cover{left:43.2%;transform-origin:14.6% 80%;z-index:2;filter:drop-shadow(2px 5px 4px #6d633426)}
.leaf-cover img{transform:rotateY(180deg);backface-visibility:hidden;filter:brightness(1.18) saturate(.7)}
.flower-stage:has(.lit) .leaf-left{transform:none}
.flower-stage:has(.lit) .leaf-right,.flower-stage:has(.lit) .leaf-cover{transform:perspective(650px) rotateY(-180deg) rotateZ(7deg)}
#flower.lit #battery,#flower.lit #copper image:first-child{transform:none}
#flower.lit #battery,#flower.lit #copper{opacity:0;transition:opacity .18s .38s}
#battery.installed,#copper.installed,#wires.installed{transition:opacity .2s .3s}

/* Petiole endpoints share a single pivot on the actual green stem. */
.leaf-left{left:24%;transform-origin:85.4% 80%}.leaf-right{left:43.2%;transform-origin:14.6% 80%}#copper image:first-child,#copper image:last-child,#battery{transform-origin:245px 313px}#wires path{transition:d 1.1s cubic-bezier(.16,1,.3,1)}#flower.lit #wires path:first-child{d:path('M276 214Q268 238 260 257Q239 263 211 268')}#flower.lit #wires path:last-child{d:path('M274 220Q265 248 255 264Q233 280 190 280')}.piece.is-locked{opacity:.55;cursor:not-allowed;box-shadow:none}.piece.is-locked:hover{transform:none;background:#fff6ed9e}.piece.is-locked .piece-number{background:transparent;color:#72513f;border-color:#b59370}.piece.is-locked strong:after{content:' · Bloqueada';font-size:11px;font-weight:400}.drop-mark.locked{opacity:.38}


.leaf-cover{filter:none}.leaf-cover img{filter:brightness(1.18) saturate(.7) drop-shadow(2px 5px 4px #6d633426)}


#flower.lit .callout-lines{opacity:0}.leaf-right,.leaf-cover img{-webkit-backface-visibility:hidden}


.hero .button{background:var(--accent-rose);border-color:var(--accent-rose);box-shadow:0 6px 18px #985b6526}.hero .button:hover{background:#854d56;border-color:#854d56}.hero .button:active{background:#75414a;border-color:#75414a}#battery .battery-mounted{filter:drop-shadow(.7px 1.4px 1.1px #3f442d70)}


header{min-height:72px;padding:10px 6%;gap:28px}.brand{display:flex;align-items:center;gap:12px;line-height:1.2;font-size:21px}.brand-copy{display:block;min-width:0}.brand-sprig{width:28px;height:38px;flex:0 0 28px;color:var(--accent-rose)}.brand .institution{margin-bottom:5px}header nav{align-items:center}@media(max-width:640px){header{min-height:0;padding:9px 6% 0}.brand{font-size:19px;gap:9px}.brand-sprig{width:24px;height:34px;flex-basis:24px}.brand .institution{font-size:10px;margin-bottom:4px}header nav{margin-top:8px;padding:3px 0}header nav a{min-height:44px}}@media(max-width:360px){.brand{font-size:18px}.brand-sprig{width:23px;flex-basis:23px}.brand{gap:9px}}


:root{--accent-rose:#985b65}.brand-copy>span:last-child{font-weight:400;letter-spacing:.015em}.drop-mark[data-slot=led] circle,.drop-mark[data-slot=copper] circle{fill:#fff6ea38;stroke-opacity:.55}.drop-mark[data-slot=led] text,.drop-mark[data-slot=copper] text{paint-order:stroke;stroke:#fff5e9aa;stroke-width:2px;stroke-linejoin:round}.drop-mark.target[data-slot] circle{fill:#fff6ea66;stroke-opacity:1}

