:root{
    --navy:#0E1B5C; --royal:#3D5AFE; --royal-tint:#EEF1FF; --gold:#FBB034; --gold-tint:#FFF6E4;
    --emerald:#0E9F6E; --emerald-tint:#E6F8F1; --border:#E2E6F2; --card:#FFFFFF; --muted:#5B6E8C;
    --amber:#B8790A; --amber-tint:#FFF3D6; --red:#D64550; --red-tint:#FDECEE; --coral:#E8635B; --coral-tint:#FDEEED;
    --purple:#7B5FE0; --purple-tint:#F1ECFC;
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:
      radial-gradient(circle at 92% 0%, #EEF1FF 0%, transparent 45%),
      radial-gradient(circle at 4% 100%, #E6F8F1 0%, transparent 45%),
      #F7F8FC;
    color:var(--navy);
    font-family:'Rubik', sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  .app{max-width:920px;margin:0 auto;padding:24px 20px 70px;}

  .topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px;}
  .meta{font-family:'JetBrains Mono', monospace;font-size:10.5px;color:var(--muted);}
  .gate-badge{
    display:flex;align-items:center;gap:6px;background:var(--gold-tint);border:1px solid #F4D48C;color:#8A5B00;
    font-family:'JetBrains Mono', monospace;font-size:9.5px;font-weight:700;border-radius:20px;padding:4px 10px 4px 6px;
  }
  .gate-badge svg{width:13px;height:13px;}
  select.jump-select{
    font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;color:var(--royal);
    background:var(--royal-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233D5AFE' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 9px center;
    border:1px solid #D6DEFF;border-radius:20px;padding:6px 26px 6px 12px;cursor:pointer;appearance:none;
  }

  .page{display:none;animation:pop .3s ease;}
  .page.active{display:block;}
  @keyframes pop{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

  h2{font-size:21px;font-weight:800;margin:0 0 8px;font-family:'Sora',sans-serif;color:var(--navy);}
  .kicker{font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin:0 0 6px;}
  p{margin:0 0 10px;font-size:14px;color:#2B3466;}
  .card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:22px 24px;margin-bottom:14px;box-shadow:0 4px 20px rgba(14,27,92,.06);position:relative;overflow:hidden;}
  .card::before{content:'';position:absolute;top:-60px;right:-60px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(61,90,254,.06),transparent 70%);pointer-events:none;}

  .page-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
  .page-head .phicon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .page-head .phicon svg{width:19px;height:19px;color:#fff;}
  .page-head .phtext .kicker{margin-bottom:2px;}
  .page-head .phtext h2{margin-bottom:0;}

  /* admit card — new UI element for this file */
  .admit-card{
    background:linear-gradient(160deg,#fff,#F7F8FF);border:1.5px solid var(--border);border-radius:22px;
    overflow:hidden;box-shadow:0 14px 34px rgba(14,27,92,.10);position:relative;
  }
  .admit-head{background:linear-gradient(120deg,var(--navy),#1E2C74);color:#F6F8FF;padding:20px 24px;position:relative;}
  .admit-head::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:10px;background:radial-gradient(circle,transparent 6px,#F7F8FF 6px) 0 -6px/16px 12px repeat-x;}
  .admit-head b{display:block;font-size:16px;font-family:'Sora',sans-serif;}
  .admit-head span{font-size:10.5px;color:#C9D2FF;font-family:'JetBrains Mono',monospace;}
  .admit-body{padding:22px 24px 20px;}
  .admit-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed #E7E2D6;font-size:12.5px;}
  .admit-row:last-child{border-bottom:none;}
  .admit-row .ak{color:var(--muted);font-weight:600;}
  .admit-row .av{color:var(--navy);font-weight:700;text-align:right;}
  .admit-stamp{
    position:absolute;top:16px;right:20px;width:42px;height:42px;border-radius:50%;
    border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;background:rgba(251,176,52,.15);
  }
  .admit-stamp svg{width:20px;height:20px;color:var(--gold);}

  /* timeline strip — richer graphic version */
  .time-strip{display:flex;align-items:flex-start;gap:0;margin-top:14px;}
  .time-block{flex:1;border-radius:16px;padding:20px 14px 16px;text-align:center;position:relative;}
  .time-block .ticon{width:44px;height:44px;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(14,27,92,.12);}
  .time-block .ticon svg{width:22px;height:22px;color:#fff;}
  .time-block .tmins{font-family:'JetBrains Mono',monospace;font-size:26px;font-weight:800;}
  .time-block .tlabel{font-size:11.5px;font-weight:800;margin-top:4px;letter-spacing:.03em;}
  .time-block .tdesc{font-size:11px;margin-top:8px;line-height:1.45;}
  .time-block.read{background:linear-gradient(160deg,var(--royal-tint),#fff);color:var(--royal);}
  .time-block.read .ticon{background:var(--royal);}
  .time-block.do{background:linear-gradient(160deg,var(--gold-tint),#fff);color:#8A5B00;}
  .time-block.do .ticon{background:var(--gold);}
  .time-block.submit{background:linear-gradient(160deg,var(--emerald-tint),#fff);color:var(--emerald);}
  .time-block.submit .ticon{background:var(--emerald);}
  .time-block .tdesc{color:#3A4270;}
  .time-arrow{align-self:center;color:#C7D0E8;flex-shrink:0;width:22px;padding-top:34px;}
  .time-arrow svg{width:20px;height:20px;}

  /* two-column rules */
  .rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px;}
  .rule-col{border-radius:14px;padding:16px 18px;}
  .rule-col.ok{background:var(--emerald-tint);border:1px solid #BEE8D8;}
  .rule-col.no{background:var(--red-tint);border:1px solid #F3C1C6;}
  .rule-head{display:flex;align-items:center;gap:7px;font-weight:800;font-size:12.5px;margin-bottom:10px;font-family:'Sora',sans-serif;}
  .rule-col.ok .rule-head{color:var(--emerald);}
  .rule-col.no .rule-head{color:var(--red);}
  .rule-col ul{margin:0;padding-left:0;list-style:none;}
  .rule-col li{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:#2B3466;margin-bottom:9px;}
  .rule-col li svg{width:15px;height:15px;flex-shrink:0;margin-top:1px;}
  .rule-col.ok li svg{color:var(--emerald);}
  .rule-col.no li svg{color:var(--red);}

  .caution-line{
    display:flex;gap:10px;align-items:flex-start;background:var(--gold-tint);border:1px solid #F4D48C;
    border-radius:12px;padding:12px 16px;font-size:12.5px;color:#6B4A00;margin-top:14px;
  }
  .caution-line svg{width:17px;height:17px;flex-shrink:0;color:#B8790A;margin-top:1px;}

  /* method recap chips */
  .method-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
  .method-chip{display:flex;align-items:center;gap:8px;border-radius:20px;padding:10px 16px;font-size:13px;font-weight:700;}
  .method-chip svg{width:16px;height:16px;}
  .method-arrow{align-self:center;color:#C7D0E8;}
  .method-arrow svg{width:16px;height:16px;}

  /* evidence checklist */
  .ev-item{display:flex;align-items:flex-start;gap:12px;background:#FBFCFE;border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:9px;}
  .ev-item .evnum{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-weight:800;font-size:13px;color:#fff;}
  .ev-item span{font-size:13px;color:var(--navy);padding-top:3px;}

  /* breathing pacer */
  .breathe-wrap{display:flex;flex-direction:column;align-items:center;gap:18px;padding:10px 0 6px;}
  .breathe-circle{
    width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,var(--emerald-tint),#fff);
    border:2px solid #BEE8D8;display:flex;align-items:center;justify-content:center;
    transition:transform 4s ease-in-out;
  }
  .breathe-circle.in{transform:scale(1.25);}
  .breathe-circle.out{transform:scale(0.85);}
  .breathe-text{font-family:'Sora',sans-serif;font-weight:700;font-size:15px;color:var(--emerald);}
  .breathe-btn{
    font-family:'Rubik',sans-serif;font-weight:700;font-size:13.5px;border-radius:12px;padding:11px 22px;
    cursor:pointer;border:none;background:var(--emerald);color:#fff;
  }
  .reassure-row{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
  .reassure-item{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#2B3466;}
  .reassure-item svg{width:16px;height:16px;color:var(--emerald);flex-shrink:0;margin-top:2px;}

  .transfer{display:flex;align-items:center;gap:14px;background:var(--navy);color:#F6F8FF;border-radius:16px;padding:18px 20px;margin-top:6px;}
  .transfer svg{width:22px;height:22px;color:var(--gold);flex-shrink:0;}
  .transfer p{margin:0;font-size:13.5px;color:#F6F8FF;}
  .transfer strong{color:var(--gold);}

  .recap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0;}
  .recap-chip{background:var(--royal-tint);border-radius:12px;padding:12px 8px;text-align:center;}
  .recap-chip svg{width:19px;height:19px;color:var(--royal);margin-bottom:6px;}
  .recap-chip span{font-size:10px;font-weight:700;display:block;}

  .nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:18px;}
  .nav-btn{
    font-family:'Rubik',sans-serif;font-weight:700;font-size:13.5px;border-radius:10px;
    padding:10px 18px;cursor:pointer;border:1.5px solid var(--border);background:#fff;color:var(--navy);
    display:flex;align-items:center;gap:6px;
  }
  .nav-btn.primary{background:var(--navy);border-color:var(--navy);color:#fff;}
  .nav-btn:disabled{opacity:.35;cursor:default;}
  .nav-btn svg{width:15px;height:15px;}

  footer{margin-top:22px;display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:10px;color:#AAB4E0;}

  @media (max-width:700px){
    .rules-grid{grid-template-columns:1fr;}
    .time-strip{flex-direction:column;}
    .time-arrow{transform:rotate(90deg);padding:4px 0;align-self:center;}
    .recap-grid{grid-template-columns:repeat(2,1fr);}
  }