/* legacy.css — retire in glory, the Hall of Legends and heirs (legacy.js): sheets in #dialog (.lgy-*), the bronze statues and the
   full-screen unveiling (<dialog class="lgy-cer">, beats as cumulative classes .b0 … .b5; .is-now = the final scene at once,
   .is-calm = reduced motion). */

/* ---------- statues: the gladiator's own rig in bronze (gold for an Imperator), in a proud pose ---------- */
.lgy-statue{position:relative;aspect-ratio:1;filter:sepia(1) saturate(1.65) hue-rotate(-14deg) brightness(.9) contrast(1.22) drop-shadow(0 2px 0 #2b1709)}
.lgy-statue.is-gold{filter:sepia(1) saturate(3.1) hue-rotate(6deg) brightness(1.14) contrast(1.12) drop-shadow(0 2px 0 #2b1709) drop-shadow(0 0 10px #ffd24a88)}
.lgy-statue>.paper-doll{width:100%;height:100%}
.lgy-statue .combat-rig .rig-joint{animation:none!important}
.lgy-statue-fallback{display:grid;place-items:center;width:100%;height:100%;color:#c98b3c}.lgy-statue-fallback .icon{width:50%;height:50%}
/* three proud poses (joint angles on top of the rig's rest pose: the forearm rests bent forward) */
.lgy-pose-charge .combat-rig .rig-arm{transform:rotate(-120deg)}.lgy-pose-charge .combat-rig .rig-forearm{transform:rotate(30deg)}.lgy-pose-charge .combat-rig .rig-weapon{transform:rotate(-30deg)}.lgy-pose-charge .combat-rig .rig-back-arm{transform:rotate(15deg)}.lgy-pose-charge .combat-rig .rig-head{transform:rotate(-8deg)}
.lgy-pose-triumph .combat-rig .rig-arm{transform:rotate(-160deg)}.lgy-pose-triumph .combat-rig .rig-forearm{transform:rotate(70deg)}.lgy-pose-triumph .combat-rig .rig-weapon{transform:rotate(-5deg)}.lgy-pose-triumph .combat-rig .rig-back-arm{transform:rotate(-150deg)}.lgy-pose-triumph .combat-rig .rig-back-forearm{transform:rotate(60deg)}.lgy-pose-triumph .combat-rig .rig-head{transform:rotate(-14deg)}
.lgy-pose-flex .combat-rig .rig-arm{transform:rotate(-40deg)}.lgy-pose-flex .combat-rig .rig-forearm{transform:rotate(-110deg)}.lgy-pose-flex .combat-rig .rig-weapon{transform:rotate(60deg)}.lgy-pose-flex .combat-rig .rig-back-arm{transform:rotate(-40deg)}.lgy-pose-flex .combat-rig .rig-back-forearm{transform:rotate(-110deg)}.lgy-pose-flex .combat-rig .rig-head{transform:rotate(-6deg)}
/* the stone plinth with its bronze plaque */
.lgy-plinth{position:relative;z-index:1;display:grid;justify-items:center;gap:1px;width:86%;margin:-7% auto 0;padding:7px 6px 8px;border:3px solid var(--ss-ink,#2b1709);border-radius:4px;background:linear-gradient(90deg,#0000 0 6%,#0000001a 6% 7%,#0000 7% 93%,#0000001a 93% 94%,#0000 94%),linear-gradient(#e2d6bc,#c3b291 58%,#a3906f);box-shadow:inset 0 3px 0 #fff7,inset 0 -5px 0 #0003,0 4px 0 var(--ss-ink,#2b1709);color:#5a3510;text-align:center}
.lgy-plinth::before{content:'';position:absolute;left:-7%;right:-7%;top:-10px;height:9px;border:3px solid var(--ss-ink,#2b1709);border-radius:3px;background:linear-gradient(#efe6d2,#cbbb99)}
.lgy-plinth b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 clamp(13px,3.6vw,17px)/1.1 var(--ss-font-display);letter-spacing:.05em;text-transform:uppercase;color:#6d3f12;text-shadow:0 1px 0 #fff8}
.lgy-plinth small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 10px/1.2 var(--font,'DM Sans');letter-spacing:.04em;color:#6b5230}
.lgy-empty-plinth{position:relative;display:block;width:64px;height:30px;margin:12px auto 0;border:3px solid var(--ss-ink,#2b1709);border-radius:3px;background:linear-gradient(#e2d6bc,#b19e7c);box-shadow:inset 0 3px 0 #fff7,0 3px 0 var(--ss-ink,#2b1709)}
.lgy-empty-plinth::before{content:'';position:absolute;left:-8px;right:-8px;top:-10px;height:8px;border:3px solid var(--ss-ink,#2b1709);border-radius:3px;background:#efe6d2}

/* ---------- shared sheet pieces ---------- */
.lgy-sheet{text-align:left}
.lgy-sheet .eyebrow{font-size:10.5px;letter-spacing:.14em;color:var(--ss-bronze-hi,#f0c46a)}
#dialog .lgy-sheet h2#dialog-title{margin:2px 0 4px;padding:0 30px 0 0;font:400 clamp(24px,7vw,32px)/1.05 var(--ss-font-display);outline:none}
.lgy-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}
.lgy-facts>span{display:grid;justify-items:center;align-content:start;gap:1px;min-width:0;padding:7px 4px;border:1.5px solid var(--ss-ink,#2b1709);border-radius:11px;background:#2b170999;text-align:center}
.lgy-facts .icon{width:17px;height:17px;color:var(--ss-bronze-hi,#f0c46a)}
.lgy-facts b{max-width:100%;overflow-wrap:anywhere;font:400 15px/1.1 var(--ss-font-display);color:#fff3dc;text-shadow:var(--ss-outline-sm)}
.lgy-facts small{max-width:100%;overflow-wrap:anywhere;font:600 10.5px/1.2 var(--font,'DM Sans');color:#e3cba5}
@media (max-width:420px){.lgy-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lgy-legends{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;margin:0 0 10px;padding:0;list-style:none}
.lgy-legends li{display:flex;align-items:center;gap:8px;min-width:0;padding:5px 9px 5px 5px;border:2px solid var(--ss-ink,#2b1709);border-radius:12px;background:var(--ss-parch-bg,#f3e3bd);box-shadow:0 2px 0 var(--ss-ink,#2b1709);color:var(--ss-parch-ink,#3a220f)}
.lgy-legends li>:first-child{flex:none}
.lgy-legends li>span{display:grid;min-width:0}
.lgy-legends b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 14.5px/1.15 var(--ss-font-display);letter-spacing:.01em}
.lgy-legends small{font:700 10.5px/1.2 var(--font,'DM Sans');color:#7a5a2a;text-transform:capitalize}
.lgy-what{display:grid;gap:6px;margin:0 0 12px;padding:0;list-style:none}
.lgy-what li{display:flex;align-items:flex-start;gap:9px;padding:8px 10px;border:1.5px solid #c98b3c66;border-radius:12px;background:#2b170980;font:600 13px/1.4 var(--font,'DM Sans');color:#f2dfbd}
.lgy-what .icon{flex:none;width:20px;height:20px;margin-top:1px;color:var(--ss-gold,#ffd24a)}
.lgy-what b{color:#fff3dc}
.lgy-sheet>.primary.full,.lgy-sheet>.secondary.full,.lgy-heir .creator-controls .full{width:100%;min-height:50px;margin:0 0 8px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:17px}
.lgy-sheet>.primary.full{min-height:54px;font-size:19px}
.lgy-sheet .icon{flex:none}
/* old → new: two headshots */
.lgy-pass{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 4px}
.lgy-pass>span{width:74px;height:74px;overflow:hidden;border:3px solid var(--ss-ink,#2b1709);border-radius:50%;background:radial-gradient(circle at 50% 40%,#f6dca4,#c98b3c 70%);box-shadow:0 3px 0 var(--ss-ink,#2b1709)}
.lgy-pass .lgy-pass-old{filter:sepia(.9) saturate(1.3) brightness(.95)}
.lgy-pass>span>svg{display:block;width:100%;height:100%}
.lgy-pass>i{color:var(--ss-gold,#ffd24a)}.lgy-pass>i .icon{width:26px;height:26px}

/* ---------- the Hall of Legends ---------- */
.lgy-hall-head{text-align:center}
.lgy-hall-head .eyebrow{text-align:center}
#dialog .lgy-hall h2#dialog-title{padding:0 30px;font-size:clamp(28px,8.4vw,38px);color:var(--ss-gold,#ffd24a);text-shadow:var(--ss-outline),0 0 22px #ffcf3a66}
.lgy-hall .dialog-intro{margin:0 0 12px;font-size:13.5px}
.lgy-yours{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:10px;margin:0 0 12px;padding:10px;border:2px solid var(--ss-ink,#2b1709);border-radius:14px;background:var(--ss-grain,none),linear-gradient(#56361c,#3f2715);box-shadow:inset 0 0 0 1px #c98b3c55,0 3px 0 var(--ss-ink,#2b1709)}
.lgy-yours.is-ready{border-color:var(--ss-gold,#ffd24a);box-shadow:0 0 0 2px var(--ss-ink,#2b1709),0 0 18px #ffd24a55,0 4px 0 2px var(--ss-ink,#2b1709)}
.lgy-yours-art{position:relative;width:78px;height:78px;overflow:hidden;border:2px solid var(--ss-ink,#2b1709);border-radius:50%;background:radial-gradient(circle at 50% 42%,#f6dca4,#c98b3c 72%)}
.lgy-yours-art>svg{display:block;width:100%;height:100%}
.lgy-yours.is-ready .lgy-yours-art{border-radius:14px;background:radial-gradient(ellipse at 50% 30%,#ffe9a8,#c98b3c 78%)}
.lgy-yours.is-ready .lgy-yours-art>svg{opacity:.28;filter:grayscale(1)}
.lgy-yours .lgy-empty-plinth{position:absolute;left:50%;bottom:6px;width:46px;height:20px;margin:0;transform:translateX(-50%);z-index:1}
.lgy-yours-copy{display:grid;gap:3px;min-width:0}
.lgy-yours-copy>b{font:400 17px/1.15 var(--ss-font-display);color:#fff3dc;text-shadow:var(--ss-outline-sm)}
.lgy-yours-copy>b small{display:block;font:600 11.5px/1.3 var(--font,'DM Sans');color:#e3cba5;text-shadow:none}
.lgy-yours-copy>span{font:600 12px/1.35 var(--font,'DM Sans');color:#f2dfbd}
#dialog .lgy-yours .primary{justify-self:start;min-height:46px;margin:4px 0 0;padding:0 16px;display:inline-flex;align-items:center;gap:7px;font-size:16px}
.lgy-hall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:10px;margin:0 0 12px;padding:0;list-style:none}
.lgy-hall-grid>li{display:grid;content-visibility:auto;contain-intrinsic-size:auto 236px}
#dialog .lgy-card{position:relative;display:grid;justify-items:center;align-content:start;gap:1px;width:100%;height:auto;min-height:44px;margin:0;padding:8px 6px 10px;border:2px solid var(--ss-ink,#2b1709);border-radius:14px 14px 10px 10px;background:radial-gradient(ellipse 70% 55% at 50% 30%,#8a6a45aa,#0000 72%),linear-gradient(#4a3322,#2f1f14);box-shadow:inset 0 0 0 1px #c98b3c44,0 3px 0 var(--ss-ink,#2b1709);color:#fff3dc;text-align:center;cursor:pointer}
#dialog .lgy-card.is-crowned{background:radial-gradient(ellipse 70% 55% at 50% 30%,#ffd24a55,#0000 72%),linear-gradient(#4a3322,#2f1f14);box-shadow:inset 0 0 0 1px #ffd24a88,0 3px 0 var(--ss-ink,#2b1709)}
#dialog .lgy-card:focus-visible{outline:3px solid #fff3dc;outline-offset:2px}
.lgy-card-niche{position:relative;display:block;width:84%;padding-top:16%;margin-bottom:2px}
.lgy-card-niche .lgy-statue{width:100%}
.lgy-card-base{position:relative;display:block;width:70%;height:12px;margin:-9% auto 0;border:2.5px solid var(--ss-ink,#2b1709);border-radius:3px;background:linear-gradient(#e2d6bc,#a8967a);box-shadow:0 2px 0 var(--ss-ink,#2b1709)}
.lgy-card-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font:400 16px/1.15 var(--ss-font-display);color:#fff3dc;text-shadow:var(--ss-outline-sm)}
.lgy-card.is-crowned .lgy-card-name{color:var(--ss-gold,#ffd24a)}
.lgy-card small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 11px/1.3 var(--font,'DM Sans');color:#e3cba5}
.lgy-card .lgy-card-line{color:#f0c98a;font-style:italic}
.lgy-card .lgy-card-legs{display:inline-flex;align-items:center;gap:3px;color:var(--ss-gold,#ffd24a)}.lgy-card-legs .icon{width:12px;height:12px}
.lgy-hall-empty{display:flex;justify-content:center;gap:22px;margin:10px 0 6px}
#dialog .lgy-hall>.small-print{margin:6px 0 14px;text-align:center}
/* a statue close-up */
.lgy-detail-top{display:grid;grid-template-columns:minmax(120px,42%) minmax(0,1fr);align-items:end;gap:10px;margin:0 0 4px}
.lgy-monument{position:relative;display:grid;justify-items:center;padding:18% 6% 0;border-radius:16px 16px 0 0;background:radial-gradient(ellipse 60% 50% at 50% 38%,#ffe9a855,#0000 70%)}
.lgy-monument.is-gold{background:radial-gradient(ellipse 60% 50% at 50% 38%,#ffd24a77,#0000 70%)}
.lgy-monument .lgy-statue{width:100%}
.lgy-detail-id{display:grid;justify-items:start;gap:2px;min-width:0;padding-bottom:6px}
.lgy-detail-id>small{font:600 12px/1.35 var(--font,'DM Sans');color:#e3cba5}
.lgy-medallion{width:64px;height:64px;margin-top:6px;overflow:hidden;border:3px solid var(--ss-ink,#2b1709);border-radius:50%;background:radial-gradient(circle at 50% 40%,#f6dca4,#c98b3c 70%);box-shadow:0 0 0 2px var(--ss-bronze,#c98b3c),0 3px 0 2px var(--ss-ink,#2b1709)}
.lgy-medallion>svg{display:block;width:100%;height:100%}
.lgy-speech{position:relative;margin:4px 0 12px;padding:10px 14px 10px 16px;border:2px solid var(--ss-ink,#2b1709);border-radius:14px;background:var(--ss-parch-bg,#f3e3bd);box-shadow:0 3px 0 var(--ss-ink,#2b1709);color:var(--ss-parch-ink,#3a220f)}
.lgy-speech p{margin:0 0 5px;font:400 15px/1.35 var(--ss-font-display);letter-spacing:.01em}
.lgy-speech cite{display:block;font:italic 700 11.5px/1.3 var(--font,'DM Sans');color:#7a5a2a}
.lgy-heir-note{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;font:600 13px/1.4 var(--font,'DM Sans');color:#f2dfbd}
.lgy-heir-note .icon{width:18px;height:18px;margin-top:1px;color:var(--ss-gold,#ffd24a)}
.lgy-line{margin:0 0 12px;padding:9px 10px;border:1.5px solid #c98b3c66;border-radius:12px;background:#2b170980}
.lgy-line-h{display:flex;align-items:center;gap:6px;margin-bottom:4px;font:400 14px/1.2 var(--ss-font-display);color:#ffe0a0;text-shadow:var(--ss-outline-sm)}
.lgy-line-h .icon{width:16px;height:16px;color:var(--ss-gold,#ffd24a)}
.lgy-line ol{display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;margin:0;padding:0;list-style:none}
.lgy-line li{display:inline-flex;align-items:center;font:600 13px/1.3 var(--font,'DM Sans');color:#f2dfbd}
.lgy-line li+li::before{content:'→';margin:0 7px;color:var(--ss-bronze-hi,#f0c46a)}
.lgy-line li[aria-current] b{color:var(--ss-gold,#ffd24a)}
#dialog .lgy-line .text-button{width:auto;min-height:44px;margin:0;padding:0 2px;border:0;justify-content:flex-start;font:600 13px/1.3 var(--font,'DM Sans');color:#fff3dc;text-decoration:underline;text-underline-offset:3px}
.lgy-line-live small{margin-left:5px;padding:1px 6px;border-radius:8px;background:#5fb83a33;font-size:10.5px;color:#b7f09a}

/* ---------- the retire flow ---------- */
.lgy-crest{display:grid;grid-template-columns:clamp(104px,32vw,140px) minmax(0,1fr);align-items:center;gap:0 10px}
.lgy-crest-doll{aspect-ratio:1;border-radius:50% 50% 16px 16px;background:radial-gradient(ellipse 42% 9% at 50% 91%,#2b170999,#2b170900 72%),radial-gradient(circle at 50% 58%,#f6dca4 0,#e2b772 42%,#c98b3c55 62%,#c98b3c00 72%)}
.lgy-crest-doll .paper-doll{width:100%;height:100%;transform:scale(1.14) translateY(2%)}
.lgy-crest-head{display:grid;gap:2px;min-width:0}
.lgy-crest-head>small{font:600 12px/1.35 var(--font,'DM Sans');color:#e3cba5}
/* the heir creator: the creator's layout (ceremony.css .creator) with the inheritance */
.lgy-heir .creator-stage .creator-id .eyebrow{display:block}
@media (max-width:600px){.lgy-heir .creator-stage .creator-id{padding-right:38px}}
.lgy-bonus{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 0}
.lgy-bonus>span{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 5px;border:1.5px solid var(--ss-ink,#2b1709);border-radius:10px;background:#2b1709b3}
.lgy-bonus .icon{width:14px;height:14px;color:var(--ss-bronze-hi,#f0c46a)}
.lgy-bonus b{font:400 14px/1.2 var(--ss-font-display);color:#fff3dc;text-shadow:var(--ss-outline-sm)}
.lgy-bonus small{font:600 10.5px/1.2 var(--font,'DM Sans');color:#e3cba5}
.lgy-bonus .is-legend{border-color:var(--ss-gold,#ffd24a)}.lgy-bonus .is-legend .icon{color:var(--ss-gold,#ffd24a)}
.lgy-inherit-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.lgy-inherit-opt{position:relative;display:block;cursor:pointer}
.lgy-inherit-opt>input{position:absolute;opacity:0;width:1px;height:1px}
.lgy-inherit-opt>span{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:8px;min-height:58px;padding:6px 9px 6px 6px;border:2px solid var(--ss-ink,#2b1709);border-radius:13px;background:linear-gradient(#56361c,#3f2715);box-shadow:inset 0 0 0 1px #c98b3c44,0 3px 0 var(--ss-ink,#2b1709)}
.lgy-inherit-opt>span>:first-child{grid-row:1/3}
.lgy-inherit-opt b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 15px/1.1 var(--ss-font-display);color:#fff3dc;text-shadow:var(--ss-outline-sm)}
.lgy-inherit-opt small{font:600 11px/1.2 var(--font,'DM Sans');color:#e3cba5;text-transform:capitalize}
.lgy-inherit-opt>input:checked+span{border-color:var(--ss-gold,#ffd24a);background:radial-gradient(ellipse at 20% 50%,#ffd24a44,#0000 70%),linear-gradient(#6a4323,#4a2d17);box-shadow:0 0 0 2px var(--ss-ink,#2b1709),0 0 14px #ffd24a66}
.lgy-inherit-opt>input:focus-visible+span{outline:3px solid #fff3dc;outline-offset:2px}
.lgy-none{display:flex;align-items:center;gap:8px;margin:0;padding:8px 10px;border:1.5px solid #c98b3c66;border-radius:12px;font:600 13px/1.4 var(--font,'DM Sans');color:#f2dfbd}
.lgy-none .icon{width:22px;height:22px;color:var(--ss-gold,#ffd24a)}
.lgy-look{margin:16px 0 12px;border:2px solid var(--ss-ink,#2b1709);border-radius:14px;background:#2b170966}
.lgy-look>summary{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 12px;cursor:pointer;list-style:none}
.lgy-look>summary::-webkit-details-marker{display:none}
.lgy-look>summary>span{display:grid;flex:1;min-width:0}
.lgy-look>summary b{font:400 16px/1.15 var(--ss-font-display);color:#ffe0a0;text-shadow:var(--ss-outline-sm)}
.lgy-look>summary small{font:600 11.5px/1.3 var(--font,'DM Sans');color:#e3cba5}
.lgy-look>summary .icon{width:20px;height:20px;color:var(--ss-bronze-hi,#f0c46a)}
.lgy-look>summary>.icon:last-child{transition:transform .2s}
.lgy-look[open]>summary>.icon:last-child{transform:rotate(90deg)}
#dialog .lgy-look>.look-fieldset{margin:0;padding:4px 12px 12px}
#dialog .lgy-random{min-height:44px;margin:10px 0 0;padding:0 14px;display:inline-flex;align-items:center;gap:7px;font-size:15px}
#dialog .lgy-heir .creator-controls form>.primary{margin-top:4px}
.lgy-confirm,.lgy-cloud{text-align:center}
.lgy-confirm .eyebrow,.lgy-cloud .eyebrow{text-align:center}
#dialog .lgy-confirm h2#dialog-title,#dialog .lgy-cloud h2#dialog-title{padding:0 30px}
.lgy-confirm .lgy-what,.lgy-cloud .dialog-intro{text-align:left}
.lgy-confirm>.notice{text-align:left}
#dialog .lgy-keepsake{display:flex;width:auto;min-height:44px;margin:0 auto;padding:0 8px;border:0;justify-content:center;font-size:13px}
#dialog .lgy-cloud>.small-print{margin:4px 0 0}

/* ---------- the unveiling (a modal <dialog> over everything) ---------- */
dialog.lgy-cer{--statue:clamp(128px,min(46vw,30vh),260px);--fig:calc(var(--statue)*.68);--floor:calc(172px + env(safe-area-inset-bottom));position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#2b1709;color:#fff3dc;overflow:hidden;box-shadow:none;text-align:center;font:16px/1.35 var(--font,'DM Sans',system-ui,sans-serif)}
dialog.lgy-cer::backdrop{background:#120803}
.lgy-cer-screen{position:absolute;inset:0;overflow:hidden;isolation:isolate;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer}
.lgy-cer.b5 .lgy-cer-screen{cursor:default}
.lgy-cer-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 34%;pointer-events:none}
.lgy-cer-sun{position:absolute;left:-24vmax;top:-30vmax;width:76vmax;height:76vmax;z-index:0;border-radius:50%;background:radial-gradient(circle,#fff7d6d9 0,#ffe39a66 22%,#ffb34a1f 46%,#ffb34a00 68%)}
.lgy-cer-shade{position:absolute;inset:0;z-index:0;background:linear-gradient(#2b1709b3,#2b170900 24%,#2b170900 52%,#2b1709cc 84%,#2b1709f2)}
.lgy-cer-head{position:absolute;left:50%;top:max(10px,env(safe-area-inset-top));z-index:4;width:min(94%,560px);padding:6px 18px 9px;transform:translate(-50%,-150%);border:3px solid var(--ss-ink,#2b1709);border-radius:6px;background:linear-gradient(#c0392b,#8d2418);box-shadow:inset 0 0 0 2px #f0c46a,inset 0 -4px 0 #0003,0 4px 0 var(--ss-ink,#2b1709),0 10px 18px #0007;transition:transform .55s cubic-bezier(.2,1.5,.4,1)}
.lgy-cer-head .eyebrow{margin:0;font-size:10.5px;letter-spacing:.2em;text-align:center;color:#ffe0a0}
.lgy-cer-head h2{margin:0;padding:0;font:400 clamp(22px,6.6vw,38px)/1.05 var(--ss-font-display);letter-spacing:.02em;color:var(--ss-gold,#ffd24a);text-shadow:var(--ss-outline)}
.lgy-cer.b0 .lgy-cer-head{transform:translate(-50%,0)}
.lgy-cer-chant{position:absolute;left:0;right:0;top:calc(max(10px,env(safe-area-inset-top)) + clamp(66px,17vw,86px));z-index:3;display:flex;justify-content:center;gap:.75em;margin:0;opacity:0;white-space:nowrap;font:400 min(clamp(20px,6vw,34px),calc(84vw / (var(--n,10) * 1.3 + 1.5)))/1 var(--ss-font-display);letter-spacing:.06em;color:#fff3dc;text-shadow:var(--ss-outline);pointer-events:none}
.lgy-cer-chant span{display:inline-block}
.lgy-cer.b1 .lgy-cer-chant{opacity:1;transition:opacity .3s .35s}
.lgy-cer.b1:not(.is-now) .lgy-cer-chant span{animation:lgy-chant .46s ease-in-out .5s 8 alternate both}
.lgy-cer.b1:not(.is-now) .lgy-cer-chant span+span{animation-delay:.73s}
.lgy-cer-stage{position:absolute;left:50%;bottom:var(--floor);z-index:2;display:flex;align-items:flex-end;justify-content:center;width:min(100%,780px);transform:translateX(-50%);pointer-events:none}
.lgy-cer-old,.lgy-cer-heir{position:relative;flex:none;width:var(--fig);aspect-ratio:1}
.lgy-cer-old{margin-right:calc(var(--fig)*-.14)}.lgy-cer-heir{margin-left:calc(var(--fig)*-.14)}
.lgy-cer-old .paper-doll,.lgy-cer-heir-fig .paper-doll{width:100%;height:100%}
.lgy-cer-heir-fig{width:100%;height:100%;transform:scaleX(-1)}
.lgy-cer-shadow{position:absolute;left:18%;right:18%;bottom:-1%;height:9%;border-radius:50%;background:radial-gradient(#0008,#0000 70%)}
.lgy-cer-heir{opacity:0;transform:translateX(70vw)}
.lgy-cer.b4 .lgy-cer-heir{opacity:1;transform:none;transition:transform 1.3s cubic-bezier(.3,.8,.4,1),opacity .2s}
.lgy-cer.b4:not(.is-now) .lgy-cer-heir-fig{animation:lgy-walk .26s ease-in-out 5 alternate}
.lgy-cer:not(.is-now) .lgy-cer-old .rig-arm{animation:lgy-wave .38s ease-in-out .3s 6 alternate}.lgy-cer:not(.is-now) .lgy-cer-old .rig-forearm{animation:lgy-wave-fore .38s ease-in-out .3s 6 alternate}
.lgy-cer.b2:not(.is-now) .lgy-cer-old .paper-doll{animation:lgy-talk .3s ease-in-out 16 alternate}
.lgy-cer-monument{position:relative;flex:none;width:var(--statue);display:grid;justify-items:center}
.lgy-cer-figure{position:relative;width:100%}
.lgy-cer-monument .lgy-statue{width:100%}
.lgy-cer-monument .lgy-plinth{opacity:.55;transition:opacity .5s}
.lgy-cer.b2 .lgy-cer-monument .lgy-plinth{opacity:1}
.lgy-cer-rays{position:absolute;left:50%;bottom:calc(var(--statue)*.35);z-index:-1;width:calc(var(--statue)*2.6);aspect-ratio:1;margin-left:calc(var(--statue)*-1.3);border-radius:50%;opacity:0;background:repeating-conic-gradient(from 0deg,#ffe9a8aa 0 9deg,#ffe9a800 9deg 22deg);-webkit-mask:radial-gradient(#000 20%,#0000 68%);mask:radial-gradient(#000 20%,#0000 68%)}
.lgy-cer.b1 .lgy-cer-rays{opacity:1;transition:opacity .6s .2s}
.lgy-cer.b1:not(.is-now):not(.is-calm) .lgy-cer-rays{animation:lgy-spin 16s linear .2s 1}
/* the cloth, yanked up and away */
.lgy-cloth{position:absolute;left:3%;right:3%;top:-28%;bottom:7%;z-index:2;transform-origin:50% 0;border:3px solid var(--ss-ink,#2b1709);border-radius:44% 44% 12px 12px/26% 26% 12px 12px;background:radial-gradient(ellipse 60% 30% at 45% 12%,#ffffff33,#fff0 70%),repeating-linear-gradient(90deg,#0000 0 12%,#00000026 12% 15%,#0000 15% 24%),linear-gradient(90deg,#6e1c14,#c0392b 30%,#a83327 58%,#6e1c14);box-shadow:inset 0 -9px 0 #f0c46a,inset 0 -12px 0 var(--ss-ink,#2b1709),0 6px 12px #0006}
.lgy-cloth>i{position:absolute;left:50%;top:-60vh;width:3px;height:60vh;margin-left:-1.5px;background:#6b4424}
.lgy-cer.b1 .lgy-cloth{transform:translateY(-120vh) rotate(-9deg);transition:transform .9s cubic-bezier(.55,-.25,.75,.4)}
.lgy-cer-flash{position:absolute;inset:-20% -30%;z-index:3;border-radius:50%;opacity:0;background:radial-gradient(#fffbe8,#fff5c800 62%);pointer-events:none}
.lgy-cer.b1:not(.is-now) .lgy-cer-flash{animation:lgy-flash .8s ease-out .5s 1 both}
/* the speech */
.lgy-cer-bubble{position:absolute;left:max(12px,env(safe-area-inset-left));top:calc(max(10px,env(safe-area-inset-top)) + clamp(106px,28vw,132px));z-index:5;width:min(76%,420px);padding:8px 12px 10px;border:3px solid var(--ss-ink,#2b1709);border-radius:16px;background:var(--ss-parch-bg,#f3e3bd);box-shadow:0 4px 0 var(--ss-ink,#2b1709),0 10px 18px #0006;color:var(--ss-parch-ink,#3a220f);text-align:left;opacity:0;transform:scale(.7);transform-origin:14% 100%;pointer-events:none}
.lgy-cer-bubble::after{content:'';position:absolute;left:14%;bottom:-14px;width:22px;height:18px;background:inherit;border:3px solid var(--ss-ink,#2b1709);border-top:0;border-left:0;clip-path:polygon(0 0,100% 0,15% 100%);transform:skewX(-18deg)}
.lgy-cer-bubble>b{display:block;font:400 13px/1.1 var(--ss-font-display);letter-spacing:.04em;color:#8d2418}
.lgy-cer-lines p{margin:3px 0 0;font:400 clamp(14px,3.9vw,17px)/1.25 var(--ss-font-display);letter-spacing:.01em}
.lgy-cer-lines p:not(:last-child){opacity:.62;font-size:clamp(12.5px,3.4vw,15px)}
.lgy-cer.b2 .lgy-cer-bubble{opacity:1;transform:none;transition:transform .35s cubic-bezier(.2,1.6,.4,1),opacity .15s}
/* the crowd in front and the confetti */
.lgy-cer-crowd{position:absolute;left:-2%;right:-2%;bottom:-8px;z-index:3;display:flex;justify-content:space-around;align-items:flex-end;height:clamp(64px,13vh,120px);pointer-events:none}
.lgy-fan{flex:none;display:block;width:auto;height:var(--h,94%);aspect-ratio:40/52;margin:0 -1.4%;transform-origin:50% 100%}
.lgy-fan>svg{display:block;width:100%;height:100%;overflow:visible}
.lgy-cer.b1:not(.is-now):not(.is-calm) .lgy-fan{animation:lgy-bob .38s ease-in-out var(--d,0s) 16 alternate}
.lgy-cer-confetti{position:absolute;inset:0;z-index:4;overflow:hidden;pointer-events:none;display:none}
.lgy-cer.b1:not(.is-now):not(.is-calm) .lgy-cer-confetti{display:block}
.lgy-cer-confetti i{position:absolute;top:-5%;width:9px;height:14px;border:1.5px solid #2b170999;border-radius:2px;background:var(--c);opacity:0;animation:lgy-fall 2.9s linear calc(.45s + var(--d)) 2}
.lgy-cer-confetti i.petal{width:12px;height:9px;border-radius:70% 0 70% 0;background:#c0392b;border-color:#6e1c14}
/* the heir's card and the skip button */
.lgy-cer-card{position:absolute;left:50%;bottom:max(10px,env(safe-area-inset-bottom));z-index:6;display:grid;margin:0;justify-items:center;gap:2px;width:min(calc(100% - 24px),520px);padding:10px 14px 12px;transform:translate(-50%,140%);opacity:0;border:3px solid var(--ss-ink,#2b1709);border-radius:16px;background:var(--ss-grain,none),linear-gradient(#56361c,#3b2414);box-shadow:inset 0 0 0 2px #c98b3c88,0 4px 0 var(--ss-ink,#2b1709),0 12px 24px #000a;cursor:default}
.lgy-cer.b5 .lgy-cer-card{transform:translate(-50%,0);opacity:1;transition:transform .45s cubic-bezier(.2,1.4,.4,1),opacity .2s}
.lgy-cer-card .eyebrow{margin:0;font-size:10.5px;letter-spacing:.2em;color:var(--ss-bronze-hi,#f0c46a)}
.lgy-cer-heirname{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 clamp(24px,7.4vw,34px)/1.05 var(--ss-font-display);letter-spacing:.03em;color:var(--ss-gold,#ffd24a);text-shadow:var(--ss-outline)}
.lgy-cer-card>small{font:600 12.5px/1.35 var(--font,'DM Sans');color:#f2dfbd}
.lgy-cer-go{width:100%;min-height:52px;margin:8px 0 0;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:400 18px/1.1 var(--ss-font-display);letter-spacing:.02em;color:#2b1709;border:2px solid var(--ss-ink,#2b1709);border-radius:12px;background:linear-gradient(#ffe08a,#f0b53a);box-shadow:var(--ss-bevel,0 3px 0 #2b1709);cursor:pointer}
.lgy-cer-go .icon{width:20px;height:20px}
.lgy-cer-go:focus-visible,.lgy-cer-skip:focus-visible{outline:3px solid #fff3dc;outline-offset:3px}
.lgy-cer-skip{position:absolute;right:max(10px,env(safe-area-inset-right));bottom:calc(max(10px,env(safe-area-inset-bottom)) + 4px);z-index:7;display:inline-flex;align-items:center;gap:4px;min-width:64px;min-height:44px;padding:0 12px 0 16px;border:2px solid var(--ss-ink,#2b1709);border-radius:22px;background:#2b1709cc;color:#fff3dc;font:400 15px/1 var(--ss-font-display);letter-spacing:.03em;cursor:pointer}
.lgy-cer-skip .icon{width:16px;height:16px}
.lgy-cer-skip[hidden]{display:none}
/* the final scene at once (Skip, reduced motion) */
.lgy-cer.is-now *,.lgy-cer.is-now *::before,.lgy-cer.is-now *::after{transition:none!important}
.lgy-cer.is-now .lgy-cer-confetti{display:none}
.lgy-cer.is-calm *,.lgy-cer.is-calm *::before,.lgy-cer.is-calm *::after{animation:none!important;transition:none!important}
/* short and wide (phones held sideways): the card on one line, smaller figures */
@media (orientation:landscape) and (max-height:540px){
 dialog.lgy-cer{--statue:clamp(100px,33vh,190px);--floor:calc(100px + env(safe-area-inset-bottom))}
 .lgy-cer-card .eyebrow{display:none}
 .lgy-cer-head{top:max(6px,env(safe-area-inset-top));width:auto;max-width:62%;padding:4px 16px 6px;left:max(12px,env(safe-area-inset-left));transform:translate(0,-160%)}
 .lgy-cer.b0 .lgy-cer-head{transform:none}
 .lgy-cer-head h2{font-size:clamp(18px,5.4vh,26px)}.lgy-cer-head .eyebrow{font-size:9px}
 .lgy-cer-chant{top:max(10px,env(safe-area-inset-top));left:auto;right:max(12px,env(safe-area-inset-right));width:auto;max-width:34%;font-size:clamp(16px,5.2vh,24px);text-align:right}
 .lgy-cer-chant span+span{display:none}
 .lgy-cer-bubble{top:calc(max(6px,env(safe-area-inset-top)) + clamp(52px,15vh,70px));width:min(38%,360px)}
 .lgy-cer-lines p{font-size:clamp(13px,3.8vh,16px)}
 .lgy-cer-crowd{height:clamp(46px,14vh,70px)}
 .lgy-cer-card{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;justify-items:start;align-items:center;column-gap:14px;row-gap:0;width:min(calc(100% - 24px),680px);padding:6px 10px 7px 14px}
 .lgy-cer-card>*{grid-column:1}
 .lgy-cer-heirname{font-size:clamp(20px,6vh,28px)}
 .lgy-cer-go{grid-column:2;grid-row:1/4;width:auto;min-height:48px;margin:0;padding:0 16px;font-size:16px}
 .lgy-cer-skip{bottom:auto;top:max(8px,env(safe-area-inset-top))}
 .lgy-cer.b1 .lgy-cer-skip{top:auto;bottom:calc(max(8px,env(safe-area-inset-bottom)) + 2px)}
}
@media (orientation:portrait) and (max-height:739px){dialog.lgy-cer{--statue:clamp(120px,min(42vw,26vh),220px)}.lgy-cer-lines p:not(:last-child){display:none}}
@media (orientation:portrait) and (min-height:740px){.lgy-cer-bubble{top:auto;bottom:calc(var(--floor) + var(--statue)*1.3 + 14px)}}
@media (min-width:900px) and (min-height:700px){dialog.lgy-cer{--statue:clamp(180px,30vh,280px);--floor:calc(170px + env(safe-area-inset-bottom))}.lgy-cer-bubble{left:calc(50% - 390px + 12px)}}
@keyframes lgy-chant{from{transform:scale(1)}to{transform:scale(1.08) rotate(-2deg)}}
@keyframes lgy-spin{to{transform:rotate(1turn)}}
@keyframes lgy-flash{0%{opacity:1}100%{opacity:0}}
@keyframes lgy-fall{0%{opacity:1;transform:translate(0,0) rotate(var(--r))}100%{opacity:1;transform:translate(var(--x),112vh) rotate(calc(var(--r) + 600deg))}}
@keyframes lgy-bob{from{transform:translateY(0)}to{transform:translateY(-12%) rotate(-2deg)}}
@keyframes lgy-walk{from{transform:scaleX(-1) translateY(0)}to{transform:scaleX(-1) translateY(-4%)}}
@keyframes lgy-wave{from{transform:rotate(-150deg)}to{transform:rotate(-138deg)}}@keyframes lgy-wave-fore{from{transform:rotate(55deg)}to{transform:rotate(95deg)}}
@keyframes lgy-talk{from{transform:translateY(0)}to{transform:translateY(-1.5%) rotate(-1deg)}}
html[data-motion=off] .lgy-look>summary>.icon:last-child{transition:none}
.lgy-extras{display:flex;flex-wrap:wrap;gap:4px 12px;margin:-4px 0 10px;padding:0 2px;font:600 11.5px/1.35 var(--font,'DM Sans');color:#e3cba5}
.lgy-extras span+span::before{content:'·';margin-right:12px;margin-left:-6px;color:var(--ss-bronze-hi,#f0c46a)}
