
.pta-wrap{
  position:relative;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  height:var(--pta-hd,640px);
  overflow:hidden;
  font-family:'Segoe UI','Helvetica Neue',sans-serif;
  -webkit-font-smoothing:antialiased;
  box-sizing:border-box;
  isolation:isolate;
  background:#0e2414;
}
.pta-wrap *{box-sizing:border-box}
.pta-bg,.pta-bg-next{
  position:absolute;inset:0;z-index:0;background-size:cover;background-position:center center;
  transform:scale(1.01);
  will-change:transform,opacity;
}
.pta-bg{animation:pta-bg-kenburns 16s ease-in-out infinite alternate;}
.pta-bg-next{animation:pta-bg-kenburns-2 18s ease-in-out infinite alternate;}
.pta-bg-next{opacity:0;transition:opacity .9s ease}
.pta-bg-next.show{opacity:1}
.pta-bg-over{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(to right, rgba(10,40,20,var(--pta-overlay,.55)) 0%, rgba(10,40,20,.12) 25%, rgba(10,40,20,.12) 75%, rgba(10,40,20,var(--pta-overlay,.55)) 100%),
    linear-gradient(to bottom, rgba(10,40,20,.28) 0%, transparent 35%, transparent 60%, rgba(10,40,20,.72) 100%);
}
.pta-top{
  position:absolute;top:0;left:0;right:0;z-index:30;
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 44px 0;pointer-events:none;
}
.pta-top-title{
  font-family:'Montserrat','Segoe UI',sans-serif;font-size:15px;letter-spacing:.42em;
  color:rgba(255,255,255,.72);text-shadow:0 1px 8px rgba(0,0,0,.5);text-transform:uppercase;
}
.pta-top-nav{display:flex;align-items:center;gap:10px;pointer-events:auto}
.pta-nav-btn{
  width:36px;height:36px;border-radius:50%;background:var(--pta-g2,#3dae2b);
  border:1px solid rgba(255,255,255,.25);color:#fff;font-size:1rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:background .2s,border-color .2s,transform .2s;
}
.pta-nav-btn:hover{background:var(--pta-g1,#93d500);transform:scale(1.08)}
.pta-nav-btn:active{transform:scale(.95)}
.pta-top-hint{
  font-family:'Montserrat','Segoe UI',sans-serif;font-size:.65rem;letter-spacing:.18em;
  color:rgba(255,255,255,.92);display:flex;align-items:center;gap:7px;margin-left:10px;text-transform:uppercase;
}
.pta-hint-arr{display:inline-block;animation:pta-bx 2s ease-in-out infinite}
@keyframes pta-bx{0%,100%{transform:translateX(0)}50%{transform:translateX(7px)}}

.pta-year-bg{
  position:absolute;bottom:52px;left:44px;z-index:20;
  font-family:'Montserrat','Segoe UI',sans-serif;font-size:clamp(3.5rem,9vw,7rem);
  line-height:1;letter-spacing:.04em;color:rgba(147,213,0,.14);pointer-events:none;
  text-shadow:none;user-select:none;
}
.pta-progress{
  position:absolute;bottom:18px;left:44px;right:44px;z-index:30;
  display:flex;align-items:center;gap:14px;pointer-events:none;
}
.pta-pt{flex:1;height:1px;background:rgba(255,255,255,.12);position:relative;border-radius:1px}
.pta-pf{
  position:absolute;left:0;top:0;height:100%;border-radius:1px;
  background:linear-gradient(to right,var(--pta-g1,#93d500),var(--pta-g2,#3dae2b));
  transition:width .5s ease;
}
.pta-pd{
  position:absolute;top:50%;width:8px;height:8px;border-radius:50%;background:var(--pta-g1,#93d500);
  transform:translate(-50%,-50%);box-shadow:0 0 10px rgba(147,213,0,.7);transition:left .5s ease;
}
.pta-pc{
  font-family:'Montserrat','Segoe UI',sans-serif;font-size:.62rem;letter-spacing:.12em;
  color:rgba(255,255,255,.55);white-space:nowrap;
}

.pta-stage{
  position:absolute;inset:0;z-index:10;cursor:grab;user-select:none;overflow:hidden;touch-action:pan-y;
}
.pta-stage:active{cursor:grabbing}
.pta-track{
  position:absolute;top:0;left:0;height:100%;display:flex;align-items:center;will-change:transform;
}
.pta-conn{
  width:28px;height:1px;display:flex;align-items:center;justify-content:center;opacity:.85;flex:none;
}
.pta-conn-dot{
  width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.24);
  box-shadow:0 0 0 1px rgba(255,255,255,.08);
}
.pta-group{
  position:relative;flex:none;width:340px;height:420px;margin:0 44px;cursor:pointer;
}
.pta-ring{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;
  border:1px dashed rgba(255,255,255,.18);opacity:0;transition:opacity .35s ease,transform .35s ease;
}
.pta-group.pta-act .pta-ring{opacity:1;transform:translate(-50%,-50%) scale(1.05)}

.pta-blob{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  border-radius:42% 58% 57% 43% / 42% 41% 59% 58%;
  background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.18), rgba(255,255,255,.06) 28%, rgba(255,255,255,.02) 100%), rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 48px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease,opacity .35s ease;
  pointer-events:none;
}
.pta-main{
  width:170px;height:170px;pointer-events:auto;
  display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;
}
.pta-group.pta-act .pta-main{
  background:linear-gradient(135deg, color-mix(in srgb, var(--pta-g1,#93d500) 78%, white 4%), var(--pta-g2,#3dae2b));
  border-color:rgba(255,255,255,.3);box-shadow:0 26px 60px rgba(0,0,0,.28),0 10px 22px rgba(61,174,43,.22);
}
.pta-blob-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.pta-bl-year{
  font-family:'Montserrat','Segoe UI',sans-serif;font-size:40px;letter-spacing:.06em;color:#fff;line-height:1;
  text-shadow:0 2px 14px rgba(0,0,0,.55);transition:filter .5s,opacity .5s;
}
.pta-bl-name{
  font-family:'Montserrat','Segoe UI',sans-serif;font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(230,255,220,.92);margin-top:5px;text-shadow:0 1px 6px rgba(0,0,0,.6);transition:filter .5s,opacity .5s;
  max-width:120px;
}
.pta-plus{
  position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:20px;line-height:1;opacity:.96;transition:transform .25s ease,background .25s ease;
}
.pta-group.pta-act .pta-plus{background:rgba(0,0,0,.16)}
.pta-group:hover .pta-plus{transform:scale(1.08)}
.pta-hint{
  position:absolute;left:50%;bottom:-28px;transform:translateX(-50%);
  font-family:'Montserrat','Segoe UI',sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;background:rgba(10,20,12,.44);padding:6px 12px;border-radius:999px;white-space:nowrap;
  opacity:0;transition:opacity .3s ease,bottom .3s ease;pointer-events:none;
}
.pta-group.pta-act .pta-hint{opacity:.92;bottom:-24px}
.pta-group:not(.pta-act) .pta-main{opacity:.84}
.pta-group:not(.pta-act):hover .pta-main{transform:translate(-50%,-50%) scale(1.03)}

.pta-modal[hidden]{display:none!important}
.pta-modal{
  position:fixed;inset:0;z-index:99999;background:rgba(2,10,6,.74);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
.pta-modal-dialog{
  width:min(640px,100%);max-height:min(88vh,900px);overflow:auto;border-radius:22px;
  background:linear-gradient(180deg,#0f2318,#112d1f);box-shadow:0 40px 120px rgba(0,0,0,.42);
  border:1px solid rgba(255,255,255,.12);color:#fff;
}
.pta-mi-wrap{aspect-ratio:16/8;overflow:hidden;border-radius:22px 22px 0 0;background:#102015}
.pta-mi{width:100%;height:100%;object-fit:cover;display:block}
.pta-mb{padding:22px}
.pta-m-eye{
  font-family:'Montserrat','Segoe UI',sans-serif;font-size:.7rem;letter-spacing:.18em;color:rgba(255,255,255,.66);
  text-transform:uppercase;margin-bottom:10px
}
.pta-m-year{
  font-family:'Montserrat','Segoe UI',sans-serif;font-size:clamp(2.2rem,6vw,3.5rem);line-height:1;color:var(--pta-g1,#93d500);
  margin-bottom:10px
}
.pta-m-title{font-size:1.15rem;font-weight:600;margin-bottom:12px}
.pta-m-text{font-size:.98rem;line-height:1.6;color:rgba(255,255,255,.92)}
.pta-m-text p{margin:.4em 0}
.pta-m-close{
  margin-top:18px;border:0;border-radius:999px;padding:12px 18px;background:var(--pta-g2,#3dae2b);
  color:#fff;cursor:pointer;font-weight:600
}

@keyframes pta-morph-a{0%,100%{border-radius:42% 58% 57% 43% / 42% 41% 59% 58%}50%{border-radius:38% 62% 62% 38% / 44% 56% 46% 54%}}
@keyframes pta-morph-b{0%,100%{border-radius:50% 50% 60% 40% / 52% 41% 59% 48%}50%{border-radius:46% 54% 40% 60% / 42% 58% 50% 50%}}
@keyframes pta-morph-c{0%,100%{border-radius:48% 52% 55% 45% / 58% 42% 58% 42%}50%{border-radius:56% 44% 48% 52% / 42% 58% 46% 54%}}
@keyframes pta-float-a{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-14px)}}
@keyframes pta-float-b{0%,100%{transform:translate(-50%,-50%) translateY(0)}40%{transform:translate(-50%,-50%) translateY(10px)}}
@keyframes pta-float-c{0%,100%{transform:translate(-50%,-50%) translateY(0)}60%{transform:translate(-50%,-50%) translateY(-10px) translateX(6px)}}

.pta-no-anim .pta-blob,.pta-no-anim .pta-hint-arr{animation:none!important}

@media (max-width:1024px){
  .pta-wrap{height:580px}
  .pta-group{width:280px;height:360px;margin:0 32px}
  .pta-main{width:200px;height:200px}
}
@media (max-width:768px){
  .pta-wrap{height:var(--pta-hm,520px)}
  .pta-top{padding:14px 18px 0}
  .pta-top-title{font-size:12px;letter-spacing:.28em}
  .pta-top-hint{display:none}
  .pta-nav-btn{width:32px;height:32px;font-size:.9rem}
  .pta-year-bg{left:20px;bottom:44px;font-size:clamp(3rem,12vw,5rem)}
  .pta-progress{left:20px;right:20px;bottom:14px}
  .pta-group{width:240px;height:360px;margin:0 24px}
  .pta-main{width:200px;height:200px}
  .pta-bl-year{font-size:28px}
  .pta-hint{font-size:9px;padding:5px 12px}
  .pta-group.pta-act .pta-hint{opacity:.86;bottom:-22px}
  .pta-modal{padding:14px}
  .pta-modal-dialog{width:min(100%,460px);max-height:min(88dvh,900px)}
}
@media (max-width:480px){
  .pta-wrap{height:440px}
  .pta-group{width:210px;height:310px;margin:0 18px}
  .pta-main{width:170px;height:170px}
  .pta-ring{width:140px;height:140px}
  .pta-bl-year{font-size:24px}
  .pta-plus{width:24px;height:24px;font-size:18px;top:8px;right:8px}
}
@media (max-width:360px){
  .pta-wrap{height:400px}
  .pta-group{width:185px;height:280px;margin:0 14px}
  .pta-main{width:148px;height:148px}
}

@keyframes pta-bg-kenburns{
  0%{transform:scale(1.01) translate3d(0,0,0)}
  50%{transform:scale(1.045) translate3d(-0.6%,0.4%,0)}
  100%{transform:scale(1.06) translate3d(0.8%,-0.5%,0)}
}
@keyframes pta-bg-kenburns-2{
  0%{transform:scale(1.02) translate3d(0,0,0)}
  50%{transform:scale(1.05) translate3d(0.5%,-0.4%,0)}
  100%{transform:scale(1.07) translate3d(-0.8%,0.4%,0)}
}
.pta-group .pta-main{
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    background .35s ease,
    border-color .35s ease,
    box-shadow .35s ease,
    opacity .35s ease,
    filter .35s ease;
}
.pta-group.pta-act .pta-main{
  transform:translate(-50%,-50%) scale(1.06);
  box-shadow:0 28px 68px rgba(0,0,0,.30),0 12px 28px rgba(61,174,43,.16),0 0 0 1px rgba(255,255,255,.08) inset;
}
.pta-group.pta-act .pta-main::after{
  content:"";
  position:absolute;inset:-10px;
  border-radius:inherit;
  box-shadow:0 0 34px color-mix(in srgb, var(--pta-g1,#93d500) 40%, transparent);
  opacity:.55;
  pointer-events:none;
}
.pta-group:hover .pta-main{
  transform:translate(-50%,-50%) scale(1.035);
}
.pta-group:active .pta-main{
  transform:translate(-50%,-50%) scale(.985);
}
.pta-plus{
  transition:transform .28s ease,background .25s ease,box-shadow .25s ease;
}
.pta-group:hover .pta-plus{transform:scale(1.08) rotate(90deg)}
.pta-hint{
  filter:blur(4px);
  transform:translateX(-50%) translateY(4px);
  transition:opacity .3s ease,bottom .3s ease,filter .3s ease,transform .3s ease;
}
.pta-group.pta-act .pta-hint{
  filter:blur(0);
  transform:translateX(-50%) translateY(0);
}
.pta-modal{
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  animation:pta-modal-fade .26s ease both;
}
.pta-modal-dialog{
  transform:translateY(10px) scale(.965);
  opacity:0;
  animation:pta-modal-in .34s cubic-bezier(.2,.8,.2,1) forwards;
}
.pta-mi{
  transform:scale(1.03);
  transition:transform 6s ease;
}
.pta-modal:not([hidden]) .pta-mi{
  transform:scale(1.08);
}
@keyframes pta-modal-fade{
  from{background:rgba(2,10,6,0)}
  to{background:rgba(2,10,6,.74)}
}
@keyframes pta-modal-in{
  from{transform:translateY(16px) scale(.96);opacity:0}
  to{transform:translateY(0) scale(1);opacity:1}
}
.pta-group.pta-press .pta-main{
  transform:translate(-50%,-50%) scale(.97);
}
.pta-group.pta-press.pta-act .pta-main{
  transform:translate(-50%,-50%) scale(1.03);
}
@media (max-width:768px){
  .pta-group .pta-main{transition-duration:.24s}
  .pta-group.pta-act .pta-main{transform:translate(-50%,-50%) scale(1.03)}
}
@media (prefers-reduced-motion: reduce){
  .pta-bg,.pta-bg-next,.pta-hint-arr,.pta-blob,.pta-modal,.pta-modal-dialog,.pta-mi{
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
}


/* V10.3 typography + spacing refinement */
.pta-top{padding:26px 52px 0}
.pta-top-title{
  font-size:13px;
  letter-spacing:.46em;
  font-weight:600;
  opacity:.94;
}
.pta-top-hint{
  font-size:.62rem;
  letter-spacing:.2em;
  opacity:.92;
}
.pta-year-bg{
  left:52px;
  bottom:58px;
  letter-spacing:.06em;
  font-weight:700;
  color:rgba(147,213,0,.11);
}
.pta-progress{
  left:52px;
  right:52px;
  bottom:22px;
  gap:16px;
}
.pta-pc{
  font-size:.64rem;
  letter-spacing:.18em;
  font-weight:600;
}
.pta-group{
  margin:0 48px;
}
.pta-main{
  padding:22px;
}
.pta-bl-year{
  font-size:42px;
  font-weight:700;
  letter-spacing:.08em;
}
.pta-bl-name{
  font-size:.56rem;
  letter-spacing:.19em;
  line-height:1.45;
  opacity:.94;
  max-width:132px;
}
.pta-plus{
  width:30px;
  height:30px;
  top:11px;
  right:11px;
}
.pta-hint{
  bottom:-30px;
  padding:7px 14px;
  font-size:9px;
  letter-spacing:.14em;
}
.pta-modal-dialog{
  width:min(680px,100%);
  border-radius:24px;
}
.pta-mi-wrap{
  aspect-ratio:16/7.8;
  border-radius:24px 24px 0 0;
}
.pta-mb{
  padding:26px 26px 24px;
}
.pta-m-eye{
  font-size:.68rem;
  letter-spacing:.22em;
  margin-bottom:12px;
  font-weight:600;
}
.pta-m-year{
  margin-bottom:12px;
  letter-spacing:.02em;
  font-weight:700;
}
.pta-m-title{
  font-size:1.22rem;
  line-height:1.3;
  margin-bottom:14px;
  font-weight:600;
}
.pta-m-text{
  font-size:1rem;
  line-height:1.72;
  color:rgba(255,255,255,.9);
}
.pta-m-close{
  margin-top:22px;
  padding:13px 20px;
  font-size:.95rem;
  letter-spacing:.02em;
  font-weight:600;
}
@media (max-width:1024px){
  .pta-top{padding:22px 34px 0}
  .pta-year-bg{left:34px}
  .pta-progress{left:34px;right:34px}
  .pta-group{margin:0 34px}
}
@media (max-width:768px){
  .pta-top{padding:16px 18px 0}
  .pta-top-title{
    font-size:11px;
    letter-spacing:.3em;
  }
  .pta-year-bg{
    left:18px;
    bottom:50px;
    font-size:clamp(3rem,11vw,4.8rem);
  }
  .pta-progress{
    left:18px;
    right:18px;
    bottom:14px;
    gap:12px;
  }
  .pta-group{margin:0 22px}
  .pta-main{padding:18px}
  .pta-bl-year{
    font-size:26px;
    letter-spacing:.06em;
  }
  .pta-bl-name{
    font-size:.5rem;
    letter-spacing:.16em;
    max-width:110px;
  }
  .pta-hint{
    padding:6px 12px;
    font-size:8px;
  }
  .pta-modal-dialog{
    width:min(100%,480px);
    border-radius:20px;
  }
  .pta-mi-wrap{
    border-radius:20px 20px 0 0;
  }
  .pta-mb{
    padding:20px 18px 18px;
  }
  .pta-m-year{
    font-size:clamp(2rem,9vw,2.8rem);
  }
  .pta-m-title{
    font-size:1.06rem;
    margin-bottom:12px;
  }
  .pta-m-text{
    font-size:.95rem;
    line-height:1.66;
  }
}
@media (max-width:480px){
  .pta-top-title{font-size:10px;letter-spacing:.24em}
  .pta-group{margin:0 16px}
  .pta-main{padding:16px}
  .pta-bl-year{font-size:23px}
  .pta-bl-name{font-size:.47rem;max-width:96px}
  .pta-plus{width:24px;height:24px;top:8px;right:8px}
  .pta-mb{padding:18px 16px 16px}
}


/* V10.4 editorial polish: modal composition + balloon positioning */
.pta-stage{
  display:flex;
  align-items:flex-end;
}
.pta-track{
  align-items:flex-end;
  padding-bottom:78px;
}
.pta-group{
  height:460px;
}
.pta-group:nth-child(3n+1) .pta-main{
  top:47%;
}
.pta-group:nth-child(3n+2) .pta-main{
  top:54%;
}
.pta-group:nth-child(3n+3) .pta-main{
  top:50%;
}
.pta-group:nth-child(3n+1) .pta-ring{
  top:47%;
}
.pta-group:nth-child(3n+2) .pta-ring{
  top:54%;
}
.pta-group:nth-child(3n+3) .pta-ring{
  top:50%;
}
.pta-year-bg{
  bottom:72px;
}
.pta-progress{
  bottom:28px;
}
.pta-modal{
  padding:28px;
}
.pta-modal-dialog{
  width:min(760px,100%);
  max-height:min(90vh,920px);
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(15,35,24,.98) 0%, rgba(16,38,26,.98) 100%);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:
    0 42px 120px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.05);
}
.pta-mi-wrap{
  aspect-ratio:16/7;
  border-radius:28px 28px 0 0;
  position:relative;
}
.pta-mi-wrap::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:40%;
  background:linear-gradient(to top, rgba(9,20,13,.52), transparent);
  pointer-events:none;
}
.pta-mb{
  padding:28px 30px 26px;
  max-width:680px;
}
.pta-m-eye{
  position:relative;
  padding-left:18px;
}
.pta-m-eye::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:10px;
  height:1px;
  background:rgba(147,213,0,.75);
  transform:translateY(-50%);
}
.pta-m-year{
  margin-bottom:14px;
}
.pta-m-title{
  max-width:18ch;
  font-size:1.28rem;
  line-height:1.26;
}
.pta-m-text{
  max-width:58ch;
  color:rgba(255,255,255,.88);
}
.pta-m-close{
  min-width:130px;
  box-shadow:0 10px 24px rgba(61,174,43,.18);
}
@media (max-width:1024px){
  .pta-track{padding-bottom:64px}
  .pta-group{height:400px}
}
@media (max-width:768px){
  .pta-track{padding-bottom:48px}
  .pta-group{height:340px}
  .pta-group:nth-child(3n+1) .pta-main,
  .pta-group:nth-child(3n+1) .pta-ring,
  .pta-group:nth-child(3n+2) .pta-main,
  .pta-group:nth-child(3n+2) .pta-ring,
  .pta-group:nth-child(3n+3) .pta-main,
  .pta-group:nth-child(3n+3) .pta-ring{
    top:50%;
  }
  .pta-year-bg{
    bottom:56px;
  }
  .pta-progress{
    bottom:14px;
  }
  .pta-modal{
    padding:14px;
  }
  .pta-modal-dialog{
    width:min(100%,520px);
    border-radius:22px;
  }
  .pta-mi-wrap{
    aspect-ratio:16/8.2;
    border-radius:22px 22px 0 0;
  }
  .pta-mb{
    padding:20px 18px 18px;
  }
  .pta-m-title{
    max-width:none;
    font-size:1.08rem;
  }
  .pta-m-text{
    max-width:none;
  }
}


/* V10.5 fixes: mobile stability + remove blue tap highlight/focus rectangle */
.pta-wrap,
.pta-wrap *{
  -webkit-tap-highlight-color: transparent;
}
.pta-nav-btn,
.pta-m-close,
.pta-main,
.pta-group,
.pta-stage{
  -webkit-tap-highlight-color: transparent;
  outline: none;
}
.pta-nav-btn:focus,
.pta-nav-btn:focus-visible,
.pta-m-close:focus,
.pta-m-close:focus-visible{
  outline: none;
  box-shadow: 0 0 0 2px rgba(255,255,255,.14), 0 0 0 4px rgba(147,213,0,.18);
}
.pta-main,
.pta-group{
  user-select:none;
  -webkit-user-select:none;
}
.pta-stage{
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
}

@media (max-width:768px){
  .pta-wrap{
    height: max(var(--pta-hm,520px), 72svh);
    min-height: 460px;
  }
  .pta-top{
    padding: 14px 16px 0;
  }
  .pta-year-bg{
    left: 16px;
    bottom: 52px;
    font-size: clamp(2.5rem, 10vw, 4.2rem);
    max-width: calc(100% - 32px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .pta-progress{
    left: 16px;
    right: 16px;
    bottom: 14px;
  }
  .pta-stage{
    inset: 44px 0 34px;
  }
  .pta-track{
    padding-bottom: 28px;
  }
  .pta-group{
    width: 214px;
    height: 276px;
    margin: 0 14px;
  }
  .pta-main{
    width: 156px;
    height: 156px;
    padding: 14px;
  }
  .pta-ring{
    width: 130px;
    height: 130px;
  }
  .pta-bl-year{
    font-size: 22px;
    letter-spacing: .05em;
  }
  .pta-bl-name{
    font-size: .44rem;
    letter-spacing: .14em;
    line-height: 1.35;
    max-width: 90px;
  }
  .pta-plus{
    width: 22px;
    height: 22px;
    top: 7px;
    right: 7px;
    font-size: 16px;
  }
  .pta-hint{
    bottom: -18px;
    padding: 5px 10px;
    font-size: 7px;
    letter-spacing: .12em;
    max-width: 160px;
    text-align: center;
    white-space: normal;
    line-height: 1.25;
  }
  .pta-group.pta-act .pta-hint{
    bottom: -16px;
  }

  .pta-modal{
    padding: 12px;
    align-items: center;
  }
  .pta-modal-dialog{
    width: min(100%, 420px);
    max-height: min(84svh, 760px);
    border-radius: 18px;
    margin: 0 auto;
  }
  .pta-mi-wrap{
    aspect-ratio: 16/8.8;
    border-radius: 18px 18px 0 0;
  }
  .pta-mb{
    padding: 16px 14px 14px;
  }
  .pta-m-eye{
    font-size: .62rem;
    letter-spacing: .16em;
    padding-left: 14px;
    margin-bottom: 10px;
  }
  .pta-m-eye::before{
    width: 8px;
  }
  .pta-m-year{
    font-size: clamp(1.7rem, 8vw, 2.4rem);
    margin-bottom: 10px;
  }
  .pta-m-title{
    font-size: .98rem;
    line-height: 1.28;
    margin-bottom: 10px;
  }
  .pta-m-text{
    font-size: .91rem;
    line-height: 1.58;
  }
  .pta-m-close{
    width: 100%;
    min-width: 0;
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: 14px;
  }
}

@media (max-width:480px){
  .pta-wrap{
    min-height: 420px;
  }
  .pta-stage{
    inset: 40px 0 30px;
  }
  .pta-group{
    width: 192px;
    height: 250px;
    margin: 0 10px;
  }
  .pta-main{
    width: 142px;
    height: 142px;
  }
  .pta-ring{
    width: 116px;
    height: 116px;
  }
  .pta-bl-year{
    font-size: 20px;
  }
  .pta-bl-name{
    max-width: 82px;
  }
  .pta-year-bg{
    bottom: 48px;
  }
  .pta-progress{
    bottom: 12px;
  }
}

@media (max-width:360px){
  .pta-wrap{
    min-height: 400px;
  }
  .pta-group{
    width: 176px;
    height: 234px;
    margin: 0 8px;
  }
  .pta-main{
    width: 132px;
    height: 132px;
    padding: 12px;
  }
  .pta-bl-year{
    font-size: 18px;
  }
  .pta-bl-name{
    font-size: .42rem;
    max-width: 76px;
  }
}

@media (prefers-reduced-motion: reduce){
  .pta-nav-btn,
  .pta-m-close,
  .pta-main,
  .pta-hint{
    transition: none !important;
  }
}


/* V10.6 fix: CTA always single line */
.pta-hint{
  white-space: nowrap !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


/* V10.7 final polish - agency / Apple style */
.pta-wrap{
  background:#09150d;
}
.pta-bg-over{
  background:
    linear-gradient(to right, rgba(7,20,11,var(--pta-overlay,.55)) 0%, rgba(7,20,11,.08) 24%, rgba(7,20,11,.08) 76%, rgba(7,20,11,var(--pta-overlay,.55)) 100%),
    linear-gradient(to bottom, rgba(7,20,11,.18) 0%, transparent 30%, transparent 62%, rgba(7,20,11,.78) 100%);
}
.pta-top-title{
  color:rgba(255,255,255,.78);
  text-shadow:0 1px 16px rgba(0,0,0,.24);
}
.pta-nav-btn{
  width:38px;
  height:38px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 12px 24px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.08);
}
.pta-nav-btn:hover{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.24);
}
.pta-nav-btn:active{
  transform:scale(.94);
}
.pta-year-bg{
  color:rgba(255,255,255,.09);
  letter-spacing:.04em;
}
.pta-pc{
  color:rgba(255,255,255,.62);
}
.pta-main{
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.20), rgba(255,255,255,.04) 26%, rgba(255,255,255,.02) 100%),
    rgba(255,255,255,.06);
  box-shadow:
    0 18px 40px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.pta-group.pta-act .pta-main{
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.18), rgba(255,255,255,.05) 30%, rgba(255,255,255,.02) 100%),
    linear-gradient(135deg, color-mix(in srgb, var(--pta-g1,#93d500) 74%, white 7%), color-mix(in srgb, var(--pta-g2,#3dae2b) 92%, black 4%));
  border-color:rgba(255,255,255,.22);
  box-shadow:
    0 26px 68px rgba(0,0,0,.26),
    0 10px 28px rgba(61,174,43,.12),
    inset 0 1px 0 rgba(255,255,255,.10);
}
.pta-group.pta-act .pta-main::after{
  box-shadow:0 0 42px color-mix(in srgb, var(--pta-g1,#93d500) 28%, transparent);
  opacity:.4;
}
.pta-bl-year{
  font-weight:650;
  text-shadow:0 1px 18px rgba(0,0,0,.26);
}
.pta-bl-name{
  color:rgba(255,255,255,.84);
}
.pta-plus{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 6px 16px rgba(0,0,0,.12);
}
.pta-group.pta-act .pta-plus{
  background:rgba(255,255,255,.14);
}
.pta-hint{
  background:rgba(9,21,13,.74);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 20px rgba(0,0,0,.16);
  font-weight:600;
}
.pta-modal{
  background:rgba(4,10,6,.62);
}
.pta-modal-dialog{
  background:
    linear-gradient(180deg, rgba(15,24,18,.96) 0%, rgba(14,24,17,.98) 100%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    0 40px 120px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.05);
}
.pta-mi-wrap::after{
  height:46%;
  background:linear-gradient(to top, rgba(8,14,10,.64), transparent);
}
.pta-m-eye{
  color:rgba(255,255,255,.54);
}
.pta-m-year{
  color:#d9ff7a;
}
.pta-m-title{
  font-weight:600;
  color:rgba(255,255,255,.98);
}
.pta-m-text{
  color:rgba(255,255,255,.82);
}
.pta-m-close{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:#f4ffd2;
  box-shadow:none;
}
.pta-m-close:hover{
  background:rgba(255,255,255,.09);
}
@media (max-width:768px){
  .pta-nav-btn{
    width:34px;height:34px;
  }
  .pta-main{
    box-shadow:
      0 14px 28px rgba(0,0,0,.14),
      inset 0 1px 0 rgba(255,255,255,.08);
  }
  .pta-hint{
    padding:6px 12px;
    font-size:7px;
  }
  .pta-m-close{
    border-radius:16px;
  }
}


/* V10.8 remove background motion */
.pta-bg,
.pta-bg-next{
  animation: none !important;
  transform: none !important;
}


/* V11 production high-end refinements */

/* Ultra smooth rendering */
.pta-wrap{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Premium subtle grain overlay */
.pta-bg-over::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2"/></filter><rect width="100%" height="100%" filter="url(%23n)" opacity="0.015"/></svg>');
  pointer-events:none;
}

/* Ultra refined spacing */
.pta-top{padding-top:28px}
.pta-progress{opacity:.85}

/* Better CTA */
.pta-hint{
  backdrop-filter:blur(6px);
  border-radius:999px;
}

/* Modal luxury feel */
.pta-modal-dialog{
  backdrop-filter: blur(14px);
}

/* Reduce visual noise */
.pta-plus{
  opacity:.85;
}
.pta-group:hover .pta-plus{
  opacity:1;
}

/* Accessibility focus (invisible but safe) */
.pta-main:focus-visible{
  outline:2px solid rgba(147,213,0,.4);
  outline-offset:4px;
}


/* V12.5 mobile last-item centering fix */
@media (max-width: 768px){
  .pta-stage{
    overflow: hidden;
  }
  .pta-track{
    min-width: max-content;
  }
}


/* V12.6 ultra polish */
.pta-wrap{
  position:relative;
  z-index:10;
}
.pta-top{
  justify-content:flex-start;
  pointer-events:none;
}
.pta-top-nav{
  position:absolute;
  left:50%;
  bottom:22px;
  top:auto;
  transform:translateX(-50%);
  z-index:60;
  display:flex;
  align-items:center;
  gap:10px;
  pointer-events:auto;
}
.pta-top-hint{
  margin-left:6px;
}
.pta-nav-btn{
  pointer-events:auto;
}
.pta-plus{
  background:#ff3b30 !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#fff !important;
  box-shadow:0 0 14px rgba(255,59,48,.38), 0 8px 18px rgba(0,0,0,.18);
}
.pta-group.pta-act .pta-plus{
  background:#ff3b30 !important;
}
.pta-stage{
  overflow:hidden;
}
@media (max-width:1024px){
  .pta-top-nav{bottom:18px;}
}
@media (max-width:768px){
  .pta-top{padding-top:14px;}
  .pta-top-nav{bottom:14px;gap:8px;}
  .pta-top-hint{display:none;}
  .pta-progress{bottom:58px !important;}
  .pta-year-bg{bottom:92px !important;}
}
@media (max-width:480px){
  .pta-top-nav{bottom:12px;}
  .pta-progress{bottom:52px !important;}
  .pta-year-bg{bottom:84px !important;}
}


/* V12.7 - move nav controls to bottom progress bar area */
.pta-top{
  justify-content:flex-start;
  pointer-events:none;
}
.pta-top-nav{
  position:absolute !important;
  right:44px !important;
  left:auto !important;
  top:auto !important;
  bottom:10px !important;
  transform:none !important;
  z-index:70 !important;
  display:flex;
  align-items:center;
  gap:10px;
  pointer-events:auto;
}
.pta-top-hint{
  margin-left:6px;
}
.pta-progress{
  padding-right:240px;
}

@media (max-width:1024px){
  .pta-top-nav{
    right:34px !important;
    bottom:8px !important;
  }
  .pta-progress{
    padding-right:220px;
  }
}

@media (max-width:768px){
  .pta-top-nav{
    right:18px !important;
    bottom:8px !important;
    gap:8px;
  }
  .pta-top-hint{
    display:none !important;
  }
  .pta-progress{
    padding-right:110px;
    bottom:14px !important;
  }
  .pta-year-bg{
    bottom:58px !important;
  }
}

@media (max-width:480px){
  .pta-top-nav{
    right:16px !important;
    bottom:6px !important;
  }
  .pta-progress{
    padding-right:100px;
    bottom:12px !important;
  }
  .pta-year-bg{
    bottom:52px !important;
  }
}


/* V14.1 robust inline nav inside timeline box */
.pta-top{
  position:absolute;top:0;left:0;right:0;z-index:30;
  display:flex;align-items:center;justify-content:flex-start;
  padding:22px 44px 0;
  pointer-events:none;
}
.pta-top-hint,
.pta-top-nav{
  display:none !important;
}
.pta-nav-bar{
  position:absolute;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  z-index:60;
  pointer-events:auto;
}
.pta-nav-bar,
.pta-nav-bar *{
  pointer-events:auto !important;
}
.pta-nav-btn{
  width:40px;
  height:40px;
  cursor:pointer;
  touch-action:manipulation;
  position:relative;
}
.pta-progress{
  bottom:8px !important;
  padding-right:0 !important;
}
.pta-year-bg{
  bottom:56px !important;
}
@media (max-width:768px){
  .pta-nav-bar{
    bottom:24px;
    gap:8px;
  }
  .pta-nav-btn{
    width:36px;
    height:36px;
  }
  .pta-progress{
    bottom:8px !important;
  }
  .pta-year-bg{
    bottom:46px !important;
  }
}


/* V14.4 safe no-drag patch */
.pta-stage{
  cursor: default !important;
  touch-action: auto !important;
}
.pta-stage:active{
  cursor: default !important;
}
