/* Lifecards v2: isolated, accessible, responsive */
.lc-deck{--lc-accent:#940606;--lc-gold:#efc474;color:inherit;font:inherit;max-width:1100px;margin:2rem auto;padding:clamp(1rem,3vw,2.5rem);background:#fff;border:1px solid #ece7e1;border-radius:22px;box-shadow:0 16px 48px #2b1c1010}.lc-deck *{box-sizing:border-box}.lc-deck__title{font-size:clamp(1.6rem,3vw,2.4rem);margin:0 0 .7rem;color:#3d2222}.lc-deck__description{font-size:1.08rem;line-height:1.65}.lc-deck__instructions{padding:1rem 1.2rem;border-left:3px solid var(--lc-gold);background:#fcf8f1;white-space:pre-line;border-radius:4px;margin:1rem 0}.lc-deck__categories,.lc-deck__variants{display:flex;gap:.55rem;flex-wrap:wrap;margin:1.2rem 0}.lc-v2-tab,.lc-v2-mode,.lc-deck__button{border:1px solid #d9cfc9;background:#fff;border-radius:50px;padding:.65rem 1rem;font:inherit;color:#4a3232;cursor:pointer;transition:background .2s,border-color .2s}.lc-v2-tab.is-active,.lc-v2-mode.is-active{background:#940606;border-color:#940606;color:#fff}.lc-deck__board{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(.65rem,2vw,1.3rem);min-height:260px;padding:1.3rem 0;perspective:1300px;align-items:center}.lc-deck__card{border:0;background:transparent;position:relative;width:clamp(125px,19vw,175px);aspect-ratio:2/3;padding:0;cursor:pointer;perspective:1200px;transition:transform .4s,opacity .4s,width .4s;flex:0 0 auto}.lc-deck__card:hover:not(.is-flipped){transform:translateY(-9px) rotate(-2deg)}.lc-v2-inner{display:block;position:absolute;inset:0;transform-style:preserve-3d;transition:transform var(--lc-speed,550ms) ease}.lc-deck__card.is-flipped .lc-v2-inner{transform:rotateY(180deg)}.lc-v2-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:13px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px #0002;border:2px solid #ffffff55}.lc-v2-back{background:#940606;color:#fff}.lc-v2-back:after{content:'';position:absolute;inset:9px;border:1px solid currentColor;opacity:.35;border-radius:8px;pointer-events:none}.lc-v2-back-name{z-index:1;position:relative;text-align:center;padding:1rem;font-size:clamp(.85rem,1.8vw,1.15rem);font-weight:700;letter-spacing:.025em;text-shadow:0 1px 3px #0005}.lc-v2-back-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.lc-v2-front{transform:rotateY(180deg);background:#fffdf8;color:#29201d;padding:1.2rem;flex-direction:column}.lc-v2-question{font-size:clamp(.85rem,1.5vw,1.15rem);line-height:1.5;text-align:center;overflow-wrap:anywhere;white-space:pre-line;max-height:100%;overflow:auto}.lc-v2-front-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.lc-v2-revealed .lc-deck__card.is-discarded{opacity:0;transform:scale(.5);width:0;margin:0;pointer-events:none}.lc-v2-revealed .lc-deck__card.is-picked{width:clamp(200px,28vw,290px);cursor:default}.lc-v2-revealed .lc-v2-question{font-size:clamp(1.05rem,2vw,1.45rem)}.lc-deck__counter{display:block;text-align:center;color:#5b4b46;margin:1rem 0}.lc-deck__help{display:block;text-align:center;white-space:pre-line}.lc-deck__buttons{text-align:center;margin:1.3rem 0}.lc-deck__button{background:#940606;color:#fff;border-color:#940606;margin:.25rem}.lc-deck__button--muted{background:#fff;color:#940606}.lc-v2-physical{border-top:1px solid #eee0d7;padding-top:1.4rem;margin-top:1.7rem;text-align:center}.lc-v2-physical a{color:#940606;font-weight:700}.lc-deck button:focus-visible{outline:3px solid #d89e35;outline-offset:4px}@media(max-width:550px){.lc-deck{padding:1rem}.lc-deck__card{width:clamp(115px,39vw,170px)}.lc-v2-revealed .lc-deck__card.is-picked{width:min(82vw,290px)}}@media(prefers-reduced-motion:reduce){.lc-deck__card,.lc-v2-inner,.lc-v2-tab,.lc-v2-mode{transition:none!important}.lc-deck__card:hover{transform:none!important}}

/* 2.1: Category switch directly below the cards; legible and keyboard friendly. */
.lc-deck__controls{display:flex;flex-direction:column;align-items:center;margin-top:1.15rem}
.lc-deck__categories{justify-content:center;margin:.4rem 0 0}
.lc-deck__variants{justify-content:center}
.lc-deck__buttons{margin:1rem 0 .2rem}
.lc-deck__empty{max-width:34rem;text-align:center;line-height:1.65;padding:1.4rem;background:#faf6ef;border-radius:12px}
.lc-v2-tab.is-unlock{border-style:dashed;background:#fcf8f1;color:#623e27}
.lc-v2-back-name{max-width:94%;overflow-wrap:anywhere}
.lc-v2-back-img~.lc-v2-back-name{background:rgba(20,12,10,.55);border-radius:8px;padding:.9rem 1rem;text-shadow:0 1px 2px #000}
@media(max-width:550px){.lc-deck__variants,.lc-deck__categories{gap:.5rem}.lc-v2-tab,.lc-v2-mode{min-height:44px}}
.lc-deck__card.is-selected:not(.is-flipped){outline:3px solid #c58c26;outline-offset:4px;transform:translateY(-5px)}

/* Lifecards 2.2 – artwork first; no automatic category label on card faces. */
.lc-deck .lc-v2-back-name{display:none!important}
.lc-deck .lc-v2-front{position:absolute;display:flex;justify-content:center;align-items:center;isolation:isolate;padding:clamp(.8rem,2vw,1.25rem)}
.lc-deck .lc-v2-front-img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;z-index:-2}
.lc-deck .lc-v2-front--image-only .lc-v2-front-img{object-fit:contain;background:#fffdf8}

.lc-deck .lc-v2-front--has-text .lc-v2-question{position:relative;z-index:1;display:block;width:100%;max-height:100%;overflow:auto;white-space:pre-line;overflow-wrap:anywhere;hyphens:auto;text-align:center;color:#27201e;background:transparent;padding:0;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;text-shadow:0 1px 2px rgba(255,255,255,.8),0 -1px 2px rgba(255,255,255,.8),1px 0 2px rgba(255,255,255,.8),-1px 0 2px rgba(255,255,255,.8);font-size:clamp(.87rem,1.5vw,1.2rem);line-height:1.5}
.lc-deck .lc-v2-revealed .lc-v2-front--has-text .lc-v2-question{font-size:clamp(1.06rem,2vw,1.46rem)}

@media(max-width:550px){.lc-deck .lc-v2-front--has-text .lc-v2-question{font-size:.9rem;padding:0}.lc-deck .lc-v2-revealed .lc-v2-front--has-text .lc-v2-question{font-size:1.15rem;padding:0}}


/* Lifecards 2.2.1 – cleaner selection view. */
.lc-deck__variants[hidden], .lc-deck__help[hidden], .lc-deck__help:empty{display:none!important}

/* Lifecards 2.2.3: Question text sits directly on card artwork, with no text panel. */


/* Lifecards 2.2.4: additional method-description dialog only. */
.lc-deck .lc-details__trigger{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.72rem 1.2rem;margin:.25rem 0 1rem;border:1px solid #940606;border-radius:999px;background:#fff;color:#940606;font:inherit;font-weight:600;line-height:1.4;text-align:center;cursor:pointer;transition:background .2s,color .2s}
.lc-deck .lc-details__trigger:hover{background:#940606;color:#fff}
.lc-deck .lc-details__trigger:focus-visible,.lc-details__dialog .lc-details__close:focus-visible{outline:3px solid #d89e35;outline-offset:3px}
.lc-details__dialog{box-sizing:border-box;width:min(720px,calc(100% - 2rem));max-width:720px;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);margin:auto;padding:0;border:1px solid #eee1d6;border-radius:16px;background:#fff;color:#292321;box-shadow:0 20px 65px #22141155;overflow:hidden}
.lc-details__dialog::backdrop{background:rgba(22,19,24,.62)}
.lc-details__dialog .lc-details__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.45rem;border-bottom:1px solid #eee4db;background:#fcf8f1}
.lc-details__dialog .lc-details__header h2{font-size:1.25rem;line-height:1.3;margin:0;color:#432323;font-weight:700}
.lc-details__dialog .lc-details__close{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border:1px solid #d8ccc4;border-radius:50%;background:#fff;color:#432323;font:inherit;font-size:1.6rem;line-height:1;cursor:pointer}
.lc-details__dialog .lc-details__close:hover{background:#f8e9e8}
.lc-details__dialog .lc-details__content{box-sizing:border-box;padding:clamp(1.2rem,3vw,2rem);overflow-y:auto;max-height:calc(100vh - 7.25rem);max-height:calc(100dvh - 7.25rem);font:inherit;font-size:1rem;line-height:1.72;overflow-wrap:anywhere}
.lc-details__dialog .lc-details__content h1,.lc-details__dialog .lc-details__content h2,.lc-details__dialog .lc-details__content h3{font-family:inherit;font-weight:700;line-height:1.28;color:#432323;margin:1.5rem 0 .65rem}
.lc-details__dialog .lc-details__content h1{font-size:clamp(1.5rem,3vw,2rem)}
.lc-details__dialog .lc-details__content h2{font-size:clamp(1.25rem,2.5vw,1.55rem)}
.lc-details__dialog .lc-details__content h3{font-size:1.15rem}
.lc-details__dialog .lc-details__content :first-child{margin-top:0}
.lc-details__dialog .lc-details__content p{margin:0 0 1rem}
.lc-details__dialog .lc-details__content ul,.lc-details__dialog .lc-details__content ol{padding-left:1.4rem;margin:0 0 1rem}
.lc-details__dialog .lc-details__content li{margin-bottom:.35rem}
@media(prefers-reduced-motion:reduce){.lc-deck .lc-details__trigger{transition:none}}


/* Lifecards 2.2.5 – optional full-size reading view only for image-only cards. */
.lc-deck .lc-v2-revealed .lc-deck__card.is-picked:has(.lc-v2-front--image-only){cursor:zoom-in}
.lc-image-zoom{box-sizing:border-box;width:min(780px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);padding:0;overflow:hidden;border:1px solid #e9dbd0;border-radius:15px;background:#fff;color:#302929;box-shadow:0 20px 60px #23131366}
.lc-image-zoom::backdrop{background:rgba(22,20,22,.78)}
.lc-image-zoom__header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:62px;padding:.6rem 1rem;border-bottom:1px solid #eee4dd;background:#fff}
.lc-image-zoom__title{font-size:1rem;font-weight:700;overflow-wrap:anywhere;max-width:58%}
.lc-image-zoom__controls{display:flex;align-items:center;gap:.35rem;flex:none}
.lc-image-zoom__control{min-width:42px;min-height:42px;cursor:pointer;border-radius:9px;border:1px solid #d8c7bb;background:#fff;color:#850808;font-family:inherit;font-size:1rem;font-weight:600;line-height:1;padding:.45rem .7rem}
.lc-image-zoom__control:hover:not(:disabled){background:#fff4e8}
.lc-image-zoom__control:disabled{opacity:.35;cursor:default}
.lc-image-zoom__control:focus-visible{outline:3px solid #d89e35;outline-offset:2px}
.lc-image-zoom__body{height:min(88dvh,calc(100dvh - 6rem));overflow:auto;background:#f6f0ec;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.lc-image-zoom__image{display:block;width:100%;max-width:none;height:auto;margin:0 auto;touch-action:pan-x pan-y pinch-zoom}
@media(max-width:480px){.lc-image-zoom__header{padding:.5rem}.lc-image-zoom__title{font-size:.82rem;max-width:44%}.lc-image-zoom__control{min-width:38px;min-height:40px;padding:.3rem .45rem;font-size:.88rem}}


/* Lifecards 2.2.6: Smartphone-only card piles.  The desktop CSS above is untouched. */
.lc-mobile{display:none!important}
@media (max-width:600px), (max-width:960px) and (max-height:500px) and (pointer:coarse){
  .lc-deck{min-width:0;max-width:100%;overflow-x:clip}
  .lc-deck .lc-mobile{display:block!important;width:100%;min-width:0;margin:1rem auto 0}
  .lc-deck .lc-deck__board,
  .lc-deck .lc-deck__variants,
  .lc-deck .lc-deck__categories,
  .lc-deck .lc-deck__buttons{display:none!important}
  .lc-deck .lc-deck__controls{margin:0}
  .lc-deck .lc-mobile__chooser{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;max-width:410px;margin:0 auto 1.05rem}
  .lc-deck .lc-mobile__toggle{min-width:0;min-height:48px;padding:.65rem .65rem;background:#fff;border:1px solid #d7c7bb;border-radius:12px;color:#503a35;font:inherit;font-size:.9rem;line-height:1.3;cursor:pointer}
  .lc-deck .lc-mobile__toggle.is-active{background:#940606;color:#fff;border-color:#940606;font-weight:650}
  .lc-deck .lc-mobile__intro{margin:.55rem auto 1rem;text-align:center;font-size:.95rem;line-height:1.55;color:#5b4b46;max-width:30ch}
  .lc-deck .lc-mobile__piles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem .75rem;padding:.4rem .25rem .3rem;max-width:430px;margin:0 auto}
  .lc-deck .lc-mobile__pile-option{display:flex;flex-direction:column;align-items:center;gap:.7rem;min-width:0;border:0;background:none;color:#452d2d;font:inherit;text-align:center;cursor:pointer;padding:0 .05rem}
  .lc-deck .lc-mobile__pile-option:disabled{opacity:.42;cursor:default}
  .lc-deck .lc-mobile__pile-mini{position:relative;display:block;width:min(100%,120px);aspect-ratio:2/3;margin:0 12px 5px 0;isolation:isolate}
  .lc-deck .lc-mobile__pile-mini::before,.lc-deck .lc-mobile__pile-mini::after{content:'';position:absolute;inset:0;border:1px solid #d5bfae;border-radius:9px;background:#fbf3e9;box-shadow:0 5px 8px #28161b18}
  .lc-deck .lc-mobile__pile-mini::before{transform:translate(10px,9px);z-index:-2}
  .lc-deck .lc-mobile__pile-mini::after{transform:translate(5px,4px);z-index:-1}
  .lc-deck .lc-mobile__pile-mini-top{position:absolute;inset:0;display:block;overflow:hidden;border-radius:9px;border:2px solid #fff9;box-shadow:0 7px 15px #27130b30}
  .lc-deck .lc-mobile__cover{display:block;width:100%;height:100%;object-fit:cover}
  .lc-deck .lc-mobile__pile-label{display:block;max-width:100%;overflow-wrap:anywhere;font-size:.91rem;font-weight:650;line-height:1.4}
  .lc-deck .lc-mobile__stack-head{display:flex;align-items:center;justify-content:center;min-height:38px;position:relative;max-width:420px;margin:.25rem auto .5rem;flex-wrap:wrap;gap:.3rem}
  .lc-deck .lc-mobile__stack-title{margin:0;font-size:1.03rem;font-weight:700;line-height:1.4;text-align:center;color:#482b2b}
  .lc-deck .lc-mobile__back{min-height:42px;padding:.45rem .7rem;margin-right:auto;border:1px solid #e8d4c1;background:#fffaf6;border-radius:12px;color:#940606;font:inherit;font-size:.85rem;cursor:pointer}
  .lc-deck .lc-mobile__back + .lc-mobile__stack-title{width:100%}
  .lc-deck .lc-mobile__stage{display:flex;justify-content:center;align-items:center;width:100%;min-width:0;max-width:100%;margin:0 auto;perspective:1200px}
  .lc-deck .lc-mobile__pile{position:relative;width:min(74vw,310px,calc(100% - 28px));aspect-ratio:2/3;margin:1.25rem 17px 1rem 0;isolation:isolate;flex:0 1 auto}
  .lc-deck .lc-mobile__pile::before,.lc-deck .lc-mobile__pile::after{content:'';position:absolute;inset:0;border:1px solid #d1b9a8;border-radius:15px;background:#fcf6ef;box-shadow:0 8px 15px #311d1828}
  .lc-deck .lc-mobile__pile::before{transform:translate(14px,14px);z-index:-2}
  .lc-deck .lc-mobile__pile::after{transform:translate(7px,7px);z-index:-1}
  .lc-deck .lc-mobile__top.lc-deck__card{position:absolute;inset:0;width:100%;height:100%;min-width:0;max-width:100%;aspect-ratio:auto;transition:none!important;transform:none!important;cursor:pointer}
  .lc-deck .lc-mobile__top .lc-v2-face{border-radius:14px;box-shadow:0 7px 17px #0003}
  .lc-deck .lc-mobile__top .lc-v2-front{padding:clamp(.6rem,3.2vw,1.1rem)}
  .lc-deck .lc-mobile__top .lc-v2-front-img{width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%}
  .lc-deck .lc-mobile__top .lc-v2-question{font-size:clamp(.87rem,3.8vw,1.1rem);line-height:1.42;overflow-wrap:anywhere;max-height:100%;overflow:auto}
  .lc-deck .lc-mobile__top.is-flipped{cursor:default}
  .lc-deck .lc-mobile__top.is-flipped:has(.lc-v2-front--image-only){cursor:zoom-in}
  .lc-deck .lc-mobile__top:hover:not(.is-flipped){transform:none!important}
  .lc-deck .lc-mobile__hint{margin:.35rem auto 0;min-height:2.6em;max-width:320px;text-align:center;font-size:.88rem;line-height:1.4;color:#5f5049}
  .lc-deck .lc-mobile__actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;max-width:350px;min-height:70px;margin:.5rem auto 0;align-items:start}
  .lc-deck .lc-mobile__primary,.lc-deck .lc-mobile__secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:100%;padding:.45rem .6rem;border:1px solid #940606;border-radius:11px;background:#940606;color:#fff;font:inherit;font-size:.89rem;font-weight:600;line-height:1.3;cursor:pointer;text-align:center}
  .lc-deck .lc-mobile__secondary{background:#fff;color:#940606}
  .lc-deck .lc-mobile__actions .is-invisible{visibility:hidden;pointer-events:none}
  .lc-deck .lc-mobile__empty{margin:1.5rem auto 1rem;max-width:28ch;text-align:center;line-height:1.6}
  .lc-deck .lc-mobile__content>.lc-mobile__secondary{display:flex;margin:.75rem auto}
  .lc-deck .lc-deck__counter{margin:.2rem auto 1rem;font-size:.88rem}
}
@media (max-width:960px) and (max-height:500px) and (pointer:coarse){
  .lc-deck .lc-mobile__pile{width:min(42vw,220px,calc(100% - 28px))}
  .lc-deck .lc-mobile__pile-mini{width:min(100%,90px)}
}
@media(max-width:360px){
  .lc-deck .lc-mobile__toggle{font-size:.81rem;padding:.5rem .35rem}
  .lc-deck .lc-mobile__pile{width:min(73vw,280px,calc(100% - 26px))}
}
@media (prefers-reduced-motion:reduce) and (max-width:600px), (prefers-reduced-motion:reduce) and (max-width:960px) and (max-height:500px) and (pointer:coarse){
  .lc-deck .lc-mobile__top .lc-v2-inner{transition:none!important}
}
