/* ====== 26 招聘 JD 生成器 · 靛紫职位牌 + 招聘橙 ====== */
.tsk.rjd{
  --tsk-bg:#f4f3fb;
  --tsk-bg-2:#ebe9f7;
  --tsk-card:#ffffff;
  --tsk-card-2:#f7f6fd;
  --tsk-ink:#1c1e33;
  --tsk-sub:#575a78;
  --tsk-faint:#878aa6;
  --tsk-line:#dfdcef;
  --tsk-line-2:#edebf9;
  --tsk-brand:#3b3c8f;
  --tsk-brand-2:#5a5bc0;
  --tsk-brand-soft:#ecebfb;
  --tsk-brand-ink:#373887;
  --tsk-orange:#e8621b;
  --tsk-orange-soft:#fdeee5;
  background:
    radial-gradient(700px 330px at 100% -12%, rgba(232,98,27,.10), transparent 60%),
    radial-gradient(560px 260px at -6% 6%, rgba(59,60,143,.09), transparent 58%),
    var(--tsk-bg);
}
:root[data-theme="dark"] .tsk.rjd{
  --tsk-bg:#101018;
  --tsk-bg-2:#16161f;
  --tsk-card:#1c1c28;
  --tsk-card-2:#232333;
  --tsk-ink:#ebeaf7;
  --tsk-sub:#aeadc6;
  --tsk-faint:#82819c;
  --tsk-line:#31314a;
  --tsk-line-2:#28283c;
  --tsk-brand:#a5a6f0;
  --tsk-brand-2:#c3c4fb;
  --tsk-brand-soft:rgba(165,166,240,.13);
  --tsk-brand-ink:#b6b7f5;
  --tsk-orange:#ff8f5c;
  --tsk-orange-soft:rgba(255,143,92,.12);
}

.rjd-hero{display:grid;grid-template-columns:minmax(0,1fr) 394px;gap:30px;padding:30px 0 24px;align-items:stretch;}
.rjd-hero-l{display:flex;flex-direction:column;}
.rjd-hero-l>.tsk-hs{flex:1 1 auto;}
.rjd-hero-l .tsk-h1 b{color:var(--tsk-brand-ink);}
.rjd-hero-r{display:flex;}

/* 表单 */
.rjd-form{width:100%;align-self:start;background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:14px;box-shadow:var(--tsk-shadow);overflow:hidden;}
.rjd-form-hd{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid var(--tsk-line-2);background:var(--tsk-brand-soft);}
.rjd-form-hd b{font-size:13px;font-weight:800;color:var(--tsk-brand-ink);}
.rjd-form-hd small{font-size:10px;color:var(--tsk-faint);}
.rjd-form-body{padding:8px 18px 16px;}
.rjd-form .tsk-label{font-size:11.5px;}
.rjd-form .tsk-label em{font-style:normal;color:var(--tsk-bad);}
.rjd-form .tsk-input,.rjd-form .tsk-select{font-size:12.5px;padding:7px 10px;border-radius:7px;background:var(--tsk-card-2);}
.rjd-row2{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.rjd-err{display:none;margin-top:3px;font-size:10.5px;color:var(--tsk-bad);}
.rjd-err.show{display:block;}
.rjd-opt{margin-top:12px;}
.rjd-seg{width:100%;flex-wrap:wrap;}
.rjd-seg button{flex:1 1 45%;padding:7px 5px;font-size:11.5px;border-radius:7px;}
.rjd-acts{display:flex;gap:8px;margin-top:14px;}
.rjd-acts .tsk-btn-main{flex:1 1 auto;background:linear-gradient(135deg,var(--tsk-brand),var(--tsk-brand-2));color:#fff;border-radius:8px;}
.rjd-acts .tsk-btn{padding:9px 11px;font-size:12px;border-radius:8px;}
.rjd-note{margin-top:8px;font-size:10.5px;color:var(--tsk-faint);}

/* JD 预览 */
.rjd-stage{margin:4px 0 30px;}
.rjd-stage-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:12px;}
.rjd-stage-sub{margin-top:3px;font-size:12px;color:var(--tsk-faint);}
.rjd-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.rjd-tabs{background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:8px;padding:3px;}
.rjd-tabs button{padding:6px 12px;font-size:11.5px;border-radius:6px;}
.rjd-tabs button.on{background:var(--tsk-brand);border-color:var(--tsk-brand);color:#fff;}
.rjd-tools .tsk-btn{padding:6px 11px;font-size:12px;border-radius:6px;}

.rjd-doc{background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:12px;box-shadow:var(--tsk-shadow);overflow:hidden;}
.rjd-doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 26px 18px;background:linear-gradient(120deg,var(--tsk-brand),var(--tsk-brand-2));color:#fff;}
.rjd-doc-tag{display:inline-block;padding:2px 10px;border-radius:99px;background:rgba(255,255,255,.18);font-size:10.5px;font-weight:700;letter-spacing:.06em;}
.rjd-doc-head h3{margin:9px 0 4px;font-size:clamp(19px,2.4vw,26px);font-weight:800;line-height:1.3;letter-spacing:.01em;}
.rjd-doc-meta{font-size:11.5px;opacity:.82;letter-spacing:.02em;}
.rjd-salary{flex:0 0 auto;text-align:right;font:800 22px/1.2 var(--tsk-num);color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:9px 14px;white-space:nowrap;}
.rjd-salary small{display:block;font:600 9.5px/1.4 var(--tsk-font);letter-spacing:.1em;opacity:.75;}
.rjd-doc-body{padding:20px 26px 26px;font-size:13px;line-height:1.9;color:var(--tsk-sub);}
.rjd-sec{margin-bottom:16px;}
.rjd-sec:last-child{margin-bottom:0;}
.rjd-sec h4{margin:0 0 8px;font-size:13.5px;font-weight:800;color:var(--tsk-ink);display:flex;align-items:center;gap:8px;}
.rjd-sec h4::before{content:"";width:3px;height:14px;border-radius:2px;background:var(--tsk-orange);}
.rjd-sec ul{margin:0;padding:0;list-style:none;}
.rjd-sec li{position:relative;padding:3px 0 3px 17px;font-size:12.5px;line-height:1.85;color:var(--tsk-sub);}
.rjd-sec li::before{content:"—";position:absolute;left:0;color:var(--tsk-faint);}
.rjd-empty{padding:50px 0;text-align:center;font-size:12.5px;color:var(--tsk-faint);}
.rjd-alt{margin-top:12px;background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:10px;overflow:hidden;}
.rjd-alt-box h4{margin:0;padding:10px 16px;background:var(--tsk-card-2);border-bottom:1px solid var(--tsk-line);font-size:12px;font-weight:800;color:var(--tsk-brand-ink);}
.rjd-alt-box pre{margin:0;padding:14px 16px;font-family:var(--tsk-font);font-size:12.5px;line-height:1.9;color:var(--tsk-sub);white-space:pre-wrap;word-break:break-word;}
.rjd-note-foot{margin-top:9px;font-size:10.5px;color:var(--tsk-faint);}

/* 四类岗位 */
.rjd-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;}
.rjd-type{background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:11px;padding:16px 18px;box-shadow:var(--tsk-shadow-sm);position:relative;overflow:hidden;}
.rjd-type::after{content:"";position:absolute;right:-18px;top:-18px;width:60px;height:60px;border-radius:50%;background:var(--tsk-orange-soft);}
.rjd-type-ic{font-size:20px;line-height:1;}
.rjd-type b{display:block;margin-top:8px;font-size:13px;font-weight:800;color:var(--tsk-ink);}
.rjd-type p{margin-top:4px;font-size:11.5px;line-height:1.75;color:var(--tsk-sub);}

/* 表格 */
.rjd-table-wrap{overflow-x:auto;border:1px solid var(--tsk-line);border-radius:10px;box-shadow:var(--tsk-shadow-sm);}
.rjd-table{width:100%;min-width:640px;border-collapse:collapse;background:var(--tsk-card);}
.rjd-table th,.rjd-table td{padding:10px 14px;font-size:12.5px;line-height:1.7;text-align:left;border-bottom:1px solid var(--tsk-line-2);}
.rjd-table thead th{background:var(--tsk-card-2);font-size:11px;font-weight:800;color:var(--tsk-brand-ink);letter-spacing:.05em;}
.rjd-table tbody tr:last-child td{border-bottom:0;}
.rjd-table tbody tr:hover td{background:var(--tsk-card-2);}
.rjd-tag{display:inline-block;padding:2px 9px;border-radius:99px;background:var(--tsk-orange-soft);color:var(--tsk-orange);font-size:11px;font-weight:800;}
.rjd-good{color:var(--tsk-ink);}
.rjd-bad{color:var(--tsk-faint);}

/* 检查清单 */
.rjd-check{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;}
.rjd-check article{background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:9px;padding:13px 15px;position:relative;padding-left:34px;}
.rjd-check article::before{content:"✓";position:absolute;left:13px;top:13px;width:15px;height:15px;border-radius:50%;background:var(--tsk-brand-soft);color:var(--tsk-brand-ink);font-size:10px;line-height:15px;text-align:center;}
.rjd-check b{font-size:12.5px;font-weight:800;color:var(--tsk-ink);}
.rjd-check p{margin-top:3px;font-size:11.5px;line-height:1.7;color:var(--tsk-sub);}

@media (max-width:900px){
  .rjd-hero{grid-template-columns:1fr;gap:22px;}
  .rjd-doc-head{padding:18px 18px 16px;flex-direction:column;gap:12px;}
  .rjd-salary{align-self:flex-start;text-align:left;}
  .rjd-doc-body{padding:16px 18px 20px;}
}
@media (max-width:560px){
  .rjd-row2{grid-template-columns:1fr;}
  .rjd-acts{flex-wrap:wrap;}
  .rjd-acts .tsk-btn-main{flex:1 1 100%;}
}

@media print{
  @page{size:A4;margin:16mm;}
  .rjd .tsk-crumb-bar,.rjd .rjd-hero,.rjd .rjd-stage-hd,.rjd .tsk-sec,.rjd .tskb,.rjd .tsk-foot{display:none !important;}
  .tsk.rjd{background:#fff !important;}
  .rjd-doc{box-shadow:none;border:0;}
  .rjd-doc-head{background:#3b3c8f !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
}

/* ====== 细节层：表单 / JD 排版 / 职位牌 ====== */
.rjd-form .tsk-field{margin-top:10px;}
.rjd-form .tsk-input:hover,.rjd-form .tsk-select:hover{border-color:var(--tsk-brand-2);}
.rjd-form .tsk-input.bad,.rjd-form .tsk-select.bad{border-color:var(--tsk-bad);background:var(--tsk-bad-soft);}
.rjd-form .tsk-input:focus-visible,.rjd-form .tsk-select:focus-visible{outline:2px solid var(--tsk-brand);outline-offset:2px;}
.rjd-form .tsk-input::placeholder{color:var(--tsk-faint);}
.rjd-form .tsk-input[type=number]{font-family:var(--tsk-num);letter-spacing:.02em;}
.rjd-form-hd b::before{content:"◈";margin-right:7px;color:var(--tsk-orange);}
.rjd-opt .tsk-label{margin-bottom:6px;}
.rjd-seg button{transition:border-color .14s,background .14s,color .14s;}
.rjd-seg button:hover:not(.on){border-color:var(--tsk-brand-2);color:var(--tsk-brand-ink);}
.rjd-acts .tsk-btn,.rjd-tools .tsk-btn,.rjd-tabs button{transition:background .15s,border-color .15s,color .15s,transform .12s;}
.rjd-acts .tsk-btn:hover{border-color:var(--tsk-brand);color:var(--tsk-brand-ink);}
.rjd-acts .tsk-btn-main:hover{filter:brightness(1.08);box-shadow:0 5px 14px rgba(59,60,143,.24);}
.rjd-tools .tsk-btn:hover{border-color:var(--tsk-orange);color:var(--tsk-orange);}
.rjd-tools .tsk-btn.is-copied{border-color:var(--tsk-ok);color:var(--tsk-ok);}
.rjd-tabs button:hover{color:var(--tsk-brand-ink);}
.rjd-tabs button.on:hover{color:#fff;}
.rjd-acts .tsk-btn:active,.rjd-tools .tsk-btn:active,.rjd-tabs button:active{transform:translateY(1px);}
.rjd-acts .tsk-btn:focus-visible,.rjd-tools .tsk-btn:focus-visible,.rjd-tabs button:focus-visible,.rjd-form .tsk-input:focus-visible{outline:2px solid var(--tsk-orange);outline-offset:2px;}
.rjd-note::before{content:"※ ";color:var(--tsk-orange);}

/* JD 纸张 */
.rjd-doc-head{position:relative;overflow:hidden;}
.rjd-doc-head::after{content:"";position:absolute;right:-40px;top:-60px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.08);}
.rjd-doc-head::before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--tsk-orange),transparent 68%);}
.rjd-doc-head>div{position:relative;z-index:1;}
.rjd-doc-head h3{letter-spacing:.02em;text-wrap:balance;}
.rjd-doc-tag{border:1px solid rgba(255,255,255,.26);letter-spacing:.1em;}
.rjd-salary{box-shadow:inset 0 1px 0 rgba(255,255,255,.22);}
.rjd-salary em{font-style:normal;font-size:12px;font-weight:600;opacity:.8;}
.rjd-sec{position:relative;}
.rjd-sec:not(:last-child){padding-bottom:14px;border-bottom:1px dashed var(--tsk-line-2);}
.rjd-sec h4{letter-spacing:.02em;}
.rjd-sec li{transition:color .14s;}
.rjd-sec li:hover{color:var(--tsk-ink);}
.rjd-sec li::before{font-weight:700;}
.rjd-sec:nth-child(2) h4::before{background:var(--tsk-brand-2);}
.rjd-sec:nth-child(3) h4::before{background:#d9a13a;}
.rjd-empty{background:var(--tsk-card-2);border:1px dashed var(--tsk-line);border-radius:10px;}
.rjd-alt-box pre::selection{background:var(--tsk-orange-soft);}
.rjd-note-foot::before{content:"※ ";color:var(--tsk-orange);}

/* 岗位卡 / 表格 / 清单 */
.rjd-type{transition:border-color .16s,transform .16s,box-shadow .16s;}
.rjd-type:hover{border-color:var(--tsk-brand-2);transform:translateY(-2px);box-shadow:var(--tsk-shadow);}
.rjd-type-ic{display:inline-flex;width:32px;height:32px;border-radius:9px;background:var(--tsk-orange-soft);align-items:center;justify-content:center;}
.rjd-type b{letter-spacing:.01em;}
.rjd-table tbody tr:nth-child(even) td{background:rgba(0,0,0,.015);}
.rjd-table tbody tr:hover td{background:var(--tsk-brand-soft);}
.rjd-table thead th{white-space:nowrap;}
.rjd-tag{letter-spacing:.02em;}
.rjd-check article{transition:border-color .15s;}
.rjd-check article:hover{border-color:var(--tsk-brand-2);}
.rjd-check article::before{background:var(--tsk-orange-soft);color:var(--tsk-orange);}

/* 深色微调 */
:root[data-theme="dark"] .rjd-doc-head::after{background:rgba(255,255,255,.06);}
:root[data-theme="dark"] .rjd-table tbody tr:nth-child(even) td{background:rgba(255,255,255,.02);}
:root[data-theme="dark"] .rjd-type-ic{background:rgba(255,143,92,.12);}
:root[data-theme="dark"] .rjd-empty{background:var(--tsk-card-2);}

@media (max-width:1180px){
  .rjd-doc-body{font-size:12.5px;}
  .rjd-sec li{font-size:12px;}
  .rjd-doc-head h3{font-size:22px;}
}
@media (max-width:760px){
  .rjd-tools{width:100%;}
  .rjd-tabs{order:2;}
  .rjd-tools .tsk-btn{flex:1 1 auto;}
  .rjd-doc-tag{font-size:10px;}
  .rjd-salary{font-size:19px;}
  .rjd-types{grid-template-columns:1fr 1fr;}
  .rjd-sec h4{font-size:13px;}
}
@media (max-width:480px){
  .rjd-form-body{padding:6px 14px 14px;}
  .rjd-doc-head{padding:16px 14px 14px;}
  .rjd-doc-body{padding:14px 14px 18px;}
  .rjd-types{grid-template-columns:1fr;}
  .rjd-sec li{font-size:12px;line-height:1.8;}
  .rjd-acts .tsk-btn-main{flex:1 1 100%;}
}

@media (prefers-reduced-motion:reduce){
  .rjd-acts .tsk-btn,.rjd-tools .tsk-btn,.rjd-tabs button,.rjd-seg button,.rjd-type,.rjd-check article,.rjd-sec li{transition:none;}
  .rjd-type:hover{transform:none;}
}

@media print{
  .rjd-doc{box-shadow:none;}
  .rjd-sec,.rjd-doc-body{page-break-inside:avoid;}
  .rjd-doc-body{color:#333;}
  .rjd-sec li{color:#333;}
  .rjd-doc-tag{border-color:#5a5bc0 !important;background:#ecebfb !important;color:#373887 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .rjd-salary{background:rgba(255,255,255,.16) !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .rjd-sec h4::before{background:#e8621b !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .rjd-tag{background:#fdeee5 !important;color:#b6470f !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
}

/* 收尾对齐 */
.rjd-form .tsk-field:first-child{margin-top:2px;}
.rjd-form-body>.tsk-field:first-of-type{margin-top:10px;}
.rjd-tools .tsk-btn{padding:6px 11px;}
.rjd-doc-body .rjd-sec ul{margin-top:2px;}
.rjd-alt-box h4::before{content:"↗ ";color:var(--tsk-orange);}
.rjd-types{margin-top:2px;}
.rjd-salary small{text-transform:uppercase;}
.rjd-doc-head h3 em{font-style:normal;}
.rjd-doc-body .rjd-sec:last-child{padding-bottom:0;border-bottom:0;}
