/* 報名頁 —— 沿用 landing.css 的遙測語言：深色面板、髮絲線、直角、等寬數字 */

/* ---------------------------------------------------------------- 頁首 */
.page-head{background:linear-gradient(180deg,var(--panel-2) 0%,var(--white) 100%);
  border-bottom:1px solid var(--rule);
  border-top:2px solid transparent;border-image:var(--neon) 1;
  padding:64px 0 48px}
.page-head h1{margin-bottom:20px;max-width:16em}
.page-head .lead{max-width:640px}
.head-act{display:flex;align-items:center;gap:28px;margin-top:32px;flex-wrap:wrap}
.deadline{font-size:12.5px;color:var(--mute);font-family:var(--mono);
  font-variant-numeric:tabular-nums}

/* ---------------------------------------------------------------- 項目列表 */
.prog-list{border-top:1px solid var(--rule)}
.prog{
  display:grid;grid-template-columns:150px 1fr 200px;gap:40px;
  padding:32px 0 32px 18px;border-bottom:1px solid var(--rule);align-items:start;
  border-left:2px solid transparent;transition:border-color .16s,background .16s;
}
.prog:hover{border-left-color:var(--accent-2);background:rgba(240,160,140,.04)}
.prog-meta{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding-top:4px}
.prog h2{font-size:23px}
.prog h2 a{text-decoration:none;border-bottom:1px solid transparent}
.prog h2 a:hover{border-bottom-color:var(--accent)}
.prog .sub{margin-top:10px;color:var(--body);font-size:15px}
.prog-act{display:flex;flex-direction:column;gap:16px;align-items:flex-start;padding-top:4px}
.org{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);
  font-weight:700;font-family:var(--mono)}

.tag{display:inline-flex;align-items:center;gap:6px;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  padding:4px 9px;border:1px solid currentColor;font-family:var(--mono)}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;
  background:currentColor;box-shadow:0 0 6px currentColor}
.tag.open{color:var(--accent-3)}
.tag.closed{color:var(--mute)}

/* 事實清單 */
.facts{margin:18px 0 0;display:grid;grid-template-columns:repeat(2,1fr);
  gap:0 40px;border-top:1px dotted var(--rule)}
.facts>div{display:grid;grid-template-columns:88px 1fr;gap:12px;
  padding:9px 0;border-bottom:1px dotted var(--rule);font-size:14px}
.facts dt{color:var(--mute);margin:0;font-family:var(--mono);font-size:12px;
  letter-spacing:.04em}
.facts dd{margin:0;color:var(--body);font-variant-numeric:tabular-nums}

.empty{border-top:1px solid var(--rule);padding-top:48px}
.empty h2{margin-bottom:14px}
.back-row{margin-top:40px}
.dim{color:var(--mute);font-size:13.5px}

/* ---------------------------------------------------------------- 提示框 */
.notice{border-left:3px solid var(--accent-2);background:var(--white);
  border-top:1px solid var(--rule);border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);padding:24px 28px;margin-top:40px}
.notice p:not(.kicker){color:var(--body);font-size:14.5px}
.notice.warn{border-left-color:#ff4d5e}
.notice.warn .kicker{color:#ff4d5e}

/* ---------------------------------------------------------------- 報名表 */
.form-sec{padding-top:56px}
.apply-form fieldset{border:0;margin:0;padding:0 0 8px;
  display:grid;grid-template-columns:1fr 1.9fr;gap:64px;
  border-top:1px solid var(--rule);padding-top:44px;margin-top:44px}
.apply-form fieldset:first-of-type{border-top:0;margin-top:0;padding-top:0}
.fs-head h2{font-size:22px}
.fs-head p{margin-top:12px;font-size:14px;color:var(--mute);max-width:24em}
.fs-body{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 28px;align-content:start}

.field{display:flex;flex-direction:column;gap:7px}
.field.check{grid-column:1/-1}
.field>label{font-size:13px;font-weight:600;color:var(--ink)}
.field>label i{font-style:normal;font-size:10px;letter-spacing:.12em;color:var(--accent);
  margin-left:8px;font-weight:700;text-transform:uppercase;font-family:var(--mono)}
.field .help{font-size:12.5px;color:var(--mute);line-height:1.6}

/* 寬欄位 */
.field:has(textarea),
.field:has(select[name="primary_event"]){grid-column:1/-1}

.inp{
  width:100%;font:inherit;font-size:15px;color:var(--ink);
  background:var(--bg-1);border:1px solid var(--rule);border-radius:0;
  padding:11px 13px;appearance:none;
}
.inp:hover{border-color:#3f3f46}
input[type="number"].inp,input[type="date"].inp{font-family:var(--mono)}
.inp:focus{outline:0;border-color:var(--accent-3);
  box-shadow:inset 0 -2px 0 var(--accent-3),0 0 16px rgba(240,160,140,.18)}
textarea.inp{line-height:1.7;resize:vertical}
select.inp{background-image:none}

.field.check label{display:flex;align-items:flex-start;gap:12px;
  font-weight:400;font-size:14.5px;color:var(--body);cursor:pointer;
  border-top:1px dotted var(--rule);padding-top:16px}
.field.check label span{line-height:1.6}
.chk{width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent);flex:none}

.field.has-error .inp{border-color:#ff4d5e;background:rgba(255,77,94,.08)}
.field-error{color:#ff4d5e;font-size:12.5px;margin:0}
.field-error ul{margin:0;padding-left:18px}

.submit-row{border-top:1px solid var(--rule);margin-top:48px;padding-top:32px;
  display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.submit-row .signin{cursor:pointer}
.submit-row .help{font-size:13px;color:var(--mute);max-width:34em;margin:0}

/* ---------------------------------------------------------------- RWD */
@media (max-width:960px){
  .page-head{padding:48px 0 36px}
  .prog{grid-template-columns:1fr;gap:18px}
  .prog-meta{flex-direction:row;align-items:center;gap:14px}
  .prog-act{flex-direction:row;align-items:center;gap:24px}
  .facts{grid-template-columns:1fr}
  .apply-form fieldset{grid-template-columns:1fr;gap:24px}
  .fs-body{grid-template-columns:1fr}
  .form-sec{padding-top:36px}
}

/* ---------------------------------------------------------------- 團隊訂造（報名頁頂置頂） */
/* 整頁最搶眼的一塊：紅色漸層邊、左邊說服、右邊三步，手機上疊成一欄 */
.team-hero{padding:48px 0;border-bottom:1px solid var(--rule);
  background:radial-gradient(120% 140% at 0% 0%,var(--accent-soft) 0%,transparent 60%),var(--paper)}
.team-hero .wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
.th-copy h2{font-size:clamp(24px,3.2vw,34px);line-height:1.25;margin-bottom:14px}
.th-copy>p:not(.kicker){color:var(--body);max-width:36em}
.th-orgs{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.th-orgs li{font-size:12.5px;padding:5px 12px;border:1px solid var(--rule);border-radius:999px;
  color:var(--ink);background:var(--white)}
.th-act{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px}
.th-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.th-steps li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;
  padding:16px 18px;background:var(--white);border:1px solid var(--rule);border-radius:var(--r-card);
  border-left:3px solid var(--accent)}
.th-steps b{font-family:var(--mono);font-size:20px;color:var(--accent-3)}
.th-steps strong{display:block;color:var(--ink);margin-bottom:4px}
.th-steps span{font-size:14px;color:var(--body);line-height:1.6}

/* ---------------------------------------------------------------- 個人註冊 */
/* 蜜罐欄（試用申請頁的 demo.css 也有一份；註冊與團隊查詢只載 programs.css） */
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.paths{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;max-width:760px}
.path{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--rule);
  border-radius:var(--r-card);background:var(--white);text-decoration:none;color:var(--body);font-size:13.5px}
.path b{color:var(--ink);font-size:15px}
.path.on{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
a.path:hover{border-color:var(--accent-3)}
.idpick{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.idpick .field-error{grid-column:1/-1}
.idcard{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px;cursor:pointer;
  border:1px solid var(--rule);border-radius:var(--r-ctl);background:var(--white)}
.idcard input{position:absolute;opacity:0;pointer-events:none}
.idcard b{color:var(--ink);font-size:16px}
.idcard em{font-style:normal;font-size:12px;color:var(--mute)}
.idcard:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.idcard:has(input:checked) em{color:var(--accent-3)}
.idcard:has(input:focus-visible){outline:2px solid var(--accent-3);outline-offset:2px}
.signup-form [data-child][hidden]{display:none}
.tiers-h{margin-top:64px;font-size:22px}
.tiers{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tiers li{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--rule);
  border-radius:var(--r-card);background:var(--white);font-size:13.5px;color:var(--body);line-height:1.6}
.tiers b{color:var(--ink);font-size:16px}
.tiers [data-tier="PRO"]{border-top:3px solid var(--accent)}

@media (max-width:960px){
  .team-hero .wrap{grid-template-columns:1fr;gap:28px}
  .tiers{grid-template-columns:1fr}
}
@media (max-width:620px){
  .paths{grid-template-columns:1fr}
}

/* ---------------------------------------------------------------- 使用者條款
   標題自動編號：條文號跟着顯示的段落走，試用期版本少了專業級那幾節也不會跳號 */
.terms{counter-reset:tsec;line-height:1.75;font-size:14.5px}
.terms .terms-meta{font-size:12.5px;opacity:.75;margin:0 0 14px}
.terms section{counter-increment:tsec;margin:0 0 18px;padding:0;border:0}
.terms section::before{content:none}
.terms h2{font-size:16px;margin:0 0 6px}
.terms h2::before{content:counter(tsec) ". ";}
.terms h3{font-size:14px;margin:10px 0 4px}
.terms ol,.terms ul{padding-left:1.4em;margin:4px 0}
.terms li{margin:2px 0}
.terms p{margin:4px 0}
/* 註冊與同意頁的條款框：限高捲動，手機上同意勾與按鈕仍在一屏之內 */
.termsbox{max-height:50vh;overflow:auto;padding:14px 16px;grid-column:1/-1;
  border:1px solid var(--rule, var(--border));-webkit-overflow-scrolling:touch}
.termsbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.termsbox .terms{font-size:13.5px}
.signsteps{list-style:none;display:flex;gap:18px;margin:0 0 28px;padding:0;font-size:13px;color:var(--mute)}
.signsteps li.on{color:var(--ink);font-weight:700}
.signsteps li.done{color:var(--accent)}
