
/* =========================================================
   PAGE 25 · STAGE 07 · APPLICATION
========================================================= */
#page25Application{
  position:absolute; inset:0; width:100%; height:100%; overflow:hidden;
  color:#F7F5FF; background:transparent;
  font-family:"Inter","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
}
#page25Application::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:linear-gradient(135deg,rgba(20,12,58,.42),rgba(65,25,100,.20) 48%,rgba(5,28,65,.22));
}
#page25Application .p25-stage{
  position:relative; z-index:2; width:100%; height:100%; box-sizing:border-box;
  padding:18px 58px 18px; display:grid;
  grid-template-rows:92px minmax(0,1fr) 94px; gap:12px;
}
#page25Application .p25-header{
  display:grid; grid-template-columns:1fr auto 190px; gap:26px; align-items:center;
  border-bottom:1px solid rgba(183,126,255,.34);
}
#page25Application .p25-title{display:flex;flex-direction:column;align-items:flex-start}
#page25Application .p25-title span{font-size:20px;font-weight:900;letter-spacing:1.8px;color:#C697FF}
#page25Application .p25-title strong{margin-top:2px;font-size:35px;line-height:1;font-weight:950;color:#fff}
#page25Application .p25-title small{margin-top:5px;font-size:20px;font-weight:800;color:#C9A8EE}
#page25Application .p25-path{display:flex;align-items:center;gap:6px}
#page25Application .p25-path span{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  font-size:14px;font-weight:900;color:#776D8A;border:1px solid rgba(157,125,205,.25);
  background:rgba(12,16,50,.45)
}
#page25Application .p25-path .done{color:#9BFAFF;border-color:#53DEE8;background:rgba(28,130,150,.47)}
#page25Application .p25-path .current{color:#fff;border-color:#C492FF;background:#7946D5;box-shadow:0 0 14px rgba(181,111,255,.55)}
#page25Application .p25-path i{font-size:13px;font-style:normal;color:#75628C}
#page25Application .p25-score{
  min-width:178px;padding:10px 12px;border:1px solid rgba(185,121,255,.48);border-radius:15px;
  background:rgba(18,15,60,.62);text-align:center;box-shadow:0 0 20px rgba(133,75,219,.12)
}
#page25Application .p25-score strong{display:block;font-size:24px;font-weight:950}
#page25Application .p25-score span{display:block;margin-top:2px;font-size:12px;font-weight:900;letter-spacing:1.3px;color:#C397FF}

#page25Application .p25-main{min-height:0;display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px}
#page25Application .p25-nova-panel{
  min-height:0;border:1px solid rgba(178,113,255,.38);border-radius:20px;padding:14px 20px 16px;
  background:linear-gradient(180deg,rgba(24,18,68,.74),rgba(10,22,58,.64));
  display:flex;flex-direction:column;align-items:center;box-sizing:border-box;
}
#page25Application .p25-nova{position:relative;width:142px;height:142px;display:grid;place-items:center;transform:translateY(-10px);margin-bottom:-2px}
#page25Application .p25-nova img{position:relative;z-index:2;width:138px;height:138px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(89,203,255,.45))}
#page25Application .p25-aura{
  position:absolute;inset:22px;border-radius:50%;
  box-shadow:0 0 38px rgba(102,93,255,.48),0 0 62px rgba(185,80,255,.24);
  animation:p25Pulse 2.8s ease-in-out infinite
}
@keyframes p25Pulse{50%{transform:scale(1.08);opacity:.72}}
#page25Application .p25-nova-copy{width:100%;margin-top:2px}
#page25Application .p25-nova-copy>span{font-size:20px;line-height:1.15;font-weight:950;letter-spacing:1.3px;color:#BC89FF}
#page25Application .p25-nova-copy>strong{display:block;margin-top:12px;font-size:24px;line-height:1.28;font-weight:900}
#page25Application .p25-nova-copy p{margin:12px 0 9px;font-size:19px;line-height:1.38;font-weight:700;color:#E2E9F4}
#page25Application .p25-nova-copy p b{color:#D0B1FF}
#page25Application .p25-nova-copy small{font-size:18px;line-height:1.42;font-weight:700;color:#C5D2E3}
#page25Application .p25-tool{width:100%;margin-top:auto;padding-top:13px;display:flex;flex-direction:column;border-top:1px solid rgba(179,123,255,.22)}
#page25Application .p25-tool span{font-size:15px;font-weight:900;letter-spacing:1.2px;color:#A681C7}
#page25Application .p25-tool strong{margin-top:4px;font-size:23px;color:#C997FF}
#page25Application .p25-tool small{margin-top:2px;font-size:18px;font-weight:800;color:#BBA9D4}

#page25Application .p25-workspace{
  min-width:0;min-height:0;border:1px solid rgba(178,113,255,.35);border-radius:20px;
  background:linear-gradient(180deg,rgba(20,17,67,.75),rgba(8,22,58,.60));
  padding:15px 18px 14px;box-sizing:border-box;display:grid;
  grid-template-rows:70px 106px minmax(0,1fr);gap:10px;
}
#page25Application .p25-worktop{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
#page25Application .p25-worktop>div:first-child{display:flex;flex-direction:column;align-items:flex-start}
#page25Application .p25-worktop span{font-size:16px;font-weight:950;letter-spacing:1.2px;color:#B984FF}
#page25Application .p25-worktop strong{margin-top:3px;font-size:28px;line-height:1.05;font-weight:950;color:#fff}
#page25Application .p25-worktop small{margin-top:4px;font-size:18px;font-weight:750;color:#CBB9E2}
#page25Application .p25-count{
  min-width:165px;padding:8px 12px;border:1px solid rgba(183,126,255,.35);border-radius:13px;
  background:rgba(22,18,64,.55);text-align:center
}
#page25Application .p25-count span{font-size:14px}
#page25Application .p25-count strong{display:block;font-size:20px;color:#D7B5FF}

#page25Application .p25-lens-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
#page25Application .p25-lens{
  min-width:0;border:1px solid rgba(177,119,255,.35);border-radius:15px;padding:11px 13px;
  background:rgba(16,20,62,.68);display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px
}
#page25Application .p25-lens>b{
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:15px;
  color:#D9C5FF;border:1px solid rgba(189,130,255,.55);background:rgba(92,51,157,.40)
}
#page25Application .p25-lens div{display:flex;flex-direction:column}
#page25Application .p25-lens div strong{font-size:20px;line-height:1.05}
#page25Application .p25-lens div small{margin-top:3px;font-size:17px;font-weight:800;color:#C7B3DE}
#page25Application .p25-lens em{font-size:13px;font-style:normal;font-weight:900;color:#8F7DA7}
#page25Application .p25-lens.active{
  border-color:#B875FF;background:linear-gradient(135deg,rgba(105,53,180,.78),rgba(55,33,126,.72));
  box-shadow:0 0 16px rgba(159,86,255,.20)
}
#page25Application .p25-lens.active em{color:#CFFFF8}

#page25Application .p25-case{min-height:0;display:grid;grid-template-rows:auto auto minmax(118px,1fr) auto;gap:9px}
#page25Application .p25-case-head{display:flex;justify-content:space-between;align-items:end;gap:20px}
#page25Application .p25-case-head>div{display:flex;flex-direction:column}
#page25Application .p25-case-head span{font-size:15px;font-weight:950;letter-spacing:1.2px;color:#B984FF}
#page25Application .p25-case-head strong{margin-top:2px;font-size:18px;color:#E5D6FF}
#page25Application .p25-case-head p{margin:0;max-width:590px;text-align:right;font-size:17px;font-weight:750;color:#D3C5E6}

#page25Application .p25-text{
  border:1px solid rgba(180,120,255,.36);border-radius:15px;padding:12px 16px;
  background:rgba(28,22,76,.72);box-sizing:border-box
}
#page25Application .p25-text span{font-size:15px;font-weight:950;letter-spacing:1.1px;color:#B98BFF}
#page25Application .p25-text p{margin:6px 0 0;font-size:20px;line-height:1.32;font-weight:780;color:#F4F2FA}

#page25Application .p25-choices{min-height:0;display:grid;grid-template-columns:1fr;gap:7px}
#page25Application .p25-choices button{
  width:100%;min-height:46px;border:1px solid rgba(148,126,202,.34);border-radius:12px;
  padding:8px 14px;text-align:left;color:#F2EFF9;background:rgba(11,22,59,.72);
  font:800 18px/1.22 "Inter","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  cursor:pointer;transition:.16s ease;pointer-events:auto;position:relative;z-index:5
}
#page25Application .p25-choices button:hover{border-color:#B77AFF;background:rgba(65,39,119,.78);transform:translateX(3px)}
#page25Application .p25-choices button.correct{border-color:#C388FF;background:linear-gradient(90deg,rgba(120,64,198,.90),rgba(83,47,157,.88));box-shadow:0 0 14px rgba(170,92,255,.20)}
#page25Application .p25-choices button.wrong{border-color:#956DAB;background:rgba(77,39,86,.72);opacity:.78}
#page25Application .p25-feedback{
  min-height:52px;border:1px solid rgba(160,120,213,.25);border-radius:12px;padding:7px 12px;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:rgba(11,20,57,.58)
}
#page25Application .p25-feedback span{font-size:14px;font-weight:950;letter-spacing:1px;color:#B98BFF}
#page25Application .p25-feedback strong{font-size:17px;line-height:1.2}
#page25Application .p25-feedback small{font-size:16px;font-weight:750;color:#C6B8D9}
#page25Application .p25-feedback.success{border-color:rgba(117,225,219,.42)}
#page25Application .p25-feedback.success span{color:#9BF6EE}

#page25Application .p25-complete{
  border:1px solid rgba(190,124,255,.62);border-radius:17px;padding:10px 16px;
  background:linear-gradient(90deg,rgba(73,35,133,.93),rgba(46,31,108,.94));
  display:flex;align-items:center;justify-content:space-between;gap:20px;box-sizing:border-box;
  opacity:.48;transition:.25s ease
}
#page25Application .p25-complete.show{opacity:1;box-shadow:0 0 22px rgba(157,82,255,.18)}
#page25Application .p25-complete>div:first-child{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
#page25Application .p25-complete span{font-size:14px;font-weight:950;letter-spacing:1.1px;color:#D5B7FF}
#page25Application .p25-complete strong{margin-top:2px;font-size:21px;line-height:1.05}
#page25Application .p25-complete strong i{font-style:normal;color:#C38CFF}
#page25Application .p25-complete small{margin-top:3px;font-size:15px;font-weight:750;color:#DDD2EB;white-space:nowrap}
#page25Application .p25-complete-right{display:flex;align-items:center;gap:14px;flex:0 0 auto}
#page25Application .p25-complete-right>b{font-size:19px}
#page25Application .p25-complete button{
  border:1px solid rgba(218,183,255,.58);border-radius:12px;padding:12px 18px;color:#fff;
  background:linear-gradient(90deg,#8247DB,#9A59ED);font-size:15px;font-weight:950;cursor:pointer
}
#page25Application .p25-complete button i{font-style:normal;margin-left:8px}


/* =========================================================
   PAGE 25 · REVEAL STRUCTURE FIX
   Match stable Page 24 canvas behavior.
========================================================= */
.reveal .slides > section#page25Application{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}

#page25Application > .p25-stage{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    box-sizing:border-box !important;
}


/* =========================================================
   PAGE 25 · v3 · Layout refinement
   1) prevent feedback overlap
   2) lower/compact TRANSFER STEPS counter
   3) protect bottom completion text
========================================================= */

/* Give the main slide slightly more breathing room above the footer. */
#page25Application .p25-stage{
    grid-template-rows: 92px minmax(0,1fr) 104px !important;
    gap: 10px !important;
    padding-bottom: 14px !important;
}

/* Keep the workspace compact enough for the taller footer. */
#page25Application .p25-workspace{
    grid-template-rows: 70px 102px minmax(0,1fr) !important;
    gap: 8px !important;
    padding-bottom: 12px !important;
}

/* Compact and lower the TRANSFER STEPS box so it no longer collides
   visually with the three SCAN/APPLY/TRANSFER cards. */
#page25Application .p25-count{
    align-self: center !important;
    min-width: 150px !important;
    height: 58px !important;
    padding: 6px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    transform: translateY(6px) !important;
}

#page25Application .p25-count span{
    font-size: 12px !important;
    line-height: 1.05 !important;
}

#page25Application .p25-count strong{
    margin-top: 2px !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

/* Slightly reduce the lens-row height pressure without reducing text size. */
#page25Application .p25-lens-row{
    align-items: stretch !important;
}

#page25Application .p25-lens{
    min-height: 90px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}

/* The case area needs a dedicated feedback row. Previously, on the first
   transfer step, the feedback could rise into the third answer option. */
#page25Application .p25-case{
    grid-template-rows:
        auto
        auto
        minmax(138px,1fr)
        66px !important;
    gap: 8px !important;
    overflow: visible !important;
}

#page25Application .p25-choices{
    min-height: 138px !important;
    align-content: start !important;
    gap: 8px !important;
}

#page25Application .p25-choices button{
    min-height: 50px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}

/* Lock feedback into its own row beneath all choices. */
#page25Application .p25-feedback{
    position: relative !important;
    z-index: 8 !important;
    min-height: 66px !important;
    height: 66px !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    grid-template-columns: auto minmax(0,1fr) minmax(260px,.8fr) !important;
}

#page25Application .p25-feedback strong{
    min-width: 0 !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
}

#page25Application .p25-feedback small{
    min-width: 0 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
}

/* More vertical room for the final completion panel. */
#page25Application .p25-complete{
    min-height: 94px !important;
    height: 94px !important;
    padding: 10px 16px !important;
    overflow: hidden !important;
}

#page25Application .p25-complete > div:first-child{
    justify-content: center !important;
    min-width: 0 !important;
}

#page25Application .p25-complete span{
    font-size: 13px !important;
    line-height: 1.1 !important;
}

#page25Application .p25-complete strong{
    margin-top: 3px !important;
    font-size: 20px !important;
    line-height: 1.1 !important;
}

#page25Application .p25-complete small{
    margin-top: 4px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    max-width: 980px !important;
}

#page25Application .p25-complete-right{
    align-self: center !important;
}

#page25Application .p25-complete button{
    padding: 11px 16px !important;
}
