/* Resume builder. Screen UI uses site tokens; the resume itself (.r) is plain, print-safe CSS. */

/* ---------- toolbar ---------- */
.rb-bar{background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line);padding:16px;display:grid;gap:14px;margin-bottom:20px}
.rb-bar-row{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}
.rb-bar .grp{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.rb-bar .opt{padding:9px 14px;min-height:40px}
.rb-bar .acts{gap:10px 20px}
.rb-bar .acts .btn{margin:5px 6px 5px 5px}
.rb-bar .chk{color:var(--acc);border-color:var(--acc)}
.rb-bar .priv{margin:0;font-size:11px}
.sw{display:flex;gap:6px}
.sw button{width:40px;height:40px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line)}
.sw button span{width:20px;height:20px;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.sw button[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--acc)}
.fit{display:inline-flex;align-items:center;gap:10px;font:500 12px var(--mono);text-transform:uppercase;padding:10px 12px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line);min-height:40px}
.fit .dot{width:8px;height:8px;background:var(--mut);flex:none}
.fit.ok{box-shadow:inset 0 0 0 1px rgba(110,220,150,.45)}
.fit.ok .dot{background:#6EDC96}
.fit.bad{box-shadow:inset 0 0 0 1px rgba(255,88,67,.6);background:rgba(255,88,67,.08)}
.fit.bad .dot{background:var(--acc)}
.fit button{font:600 11px var(--mono);text-transform:uppercase;color:var(--acc);border-bottom:1px solid var(--acc);padding:2px 0;margin-left:4px}

/* ---------- tabs (mobile) ---------- */
.tabs{display:grid;grid-template-columns:1fr 1fr;margin-top:8px}
.tabs button{min-height:46px;font:600 13px var(--mono);text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink2);background:var(--bg2)}
.tabs button[aria-selected="true"]{color:#fff;background:var(--accdim);box-shadow:inset 0 0 0 1px var(--acc)}
@media (min-width:1000px){.tabs{display:none}}

/* ---------- layout ---------- */
.rb{display:grid;gap:24px;align-items:start}
.rb > *{min-width:0}
@media (max-width:999px){
  .rb{position:relative}
  .rb[data-tab="preview"] .ed{display:none}
  .rb[data-tab="edit"] .pv{position:absolute;left:0;top:0;width:100%;height:0;overflow:hidden;visibility:hidden}
  .pv-in{padding:10px}
}
.pv-foot{display:none;margin-top:16px}
@media (max-width:999px){.pv-foot{display:block}}
@media (min-width:1000px){
  .rb{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
  .pv{position:sticky;top:calc(88px + var(--stk,100px))}
  .pv-in{max-height:calc(100vh - 108px - var(--stk,100px));overflow:auto;overscroll-behavior:contain}
}
.rb-notes{margin-top:40px}

/* ---------- editor ---------- */
.ed{display:grid;gap:12px}
.sec{background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line)}
.sec.off .sec-b{opacity:.55}
.sec-h{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 0}
.sec-t{flex:1;display:flex;align-items:center;gap:12px;text-align:left;padding:10px 0 10px 16px;min-height:44px;min-width:0}
.sec-t h2{margin:0;font-size:20px;font-weight:500;letter-spacing:-.03em}
.sec-t .car{margin-left:auto;font:500 12px var(--mono);color:var(--mut);transition:transform .2s}
.sec-t[aria-expanded="false"] .car{transform:rotate(-90deg)}
.sec-t .hid{font:500 10px var(--mono);text-transform:uppercase;padding:3px 6px;background:var(--bg3);color:var(--mut)}
.sec-c{display:flex;gap:4px;flex:none}
.sec-b{padding:4px 16px 18px;display:grid;gap:14px}
.sec-b[hidden]{display:none}
.vis{font:500 11px var(--mono);text-transform:uppercase;height:40px;padding:0 10px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink2)}
.vis[aria-pressed="false"]{color:var(--acc);box-shadow:inset 0 0 0 1px rgba(255,88,67,.5)}

.ib{width:40px;height:40px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink2);font:500 15px var(--mono);flex:none;transition:box-shadow .2s,color .2s}
.ib:hover:not(:disabled){color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.ib:disabled{opacity:.3;cursor:default}
.ib.x:hover:not(:disabled){color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}

.g2{display:grid;gap:12px}
@media (min-width:560px){.g2{grid-template-columns:1fr 1fr}.g2 .span{grid-column:1/-1}}
.f{display:grid;gap:6px;align-content:start;min-width:0}
.f > label,.lbl{font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.02em;color:var(--mut)}
.f input,.f textarea,.b textarea{width:100%;background:#151515;border:0;border-radius:0;box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink);font:400 16px/1.45 var(--sans);padding:10px 12px;outline:none;transition:box-shadow .15s;-webkit-appearance:none;appearance:none}
.ent .f input,.ent .f textarea,.ent .b textarea{background:var(--bg2)}
.f input::placeholder,.f textarea::placeholder,.b textarea::placeholder{color:rgba(255,255,255,.32)}
.f input:focus,.f textarea:focus,.b textarea:focus{box-shadow:inset 0 0 0 1px var(--acc),0 0 0 3px var(--accdim)}
.f input:disabled{opacity:.4}
.f textarea,.b textarea{resize:none;overflow:hidden;min-height:46px}
.f .cnt{font:500 11px var(--mono);color:var(--mut);display:flex;justify-content:space-between;gap:10px}
.f .cnt.warn{color:var(--acc)}
.dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}
.chkbx{display:inline-flex;align-items:center;gap:10px;font:500 12px var(--mono);text-transform:uppercase;color:var(--ink2);min-height:40px;cursor:pointer;justify-self:start}
.chkbx input{width:18px;height:18px;accent-color:var(--acc);margin:0}

.ent{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);padding:14px;display:grid;gap:12px}
.ent-h{display:flex;align-items:center;gap:6px}
.ent-h .mn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2)}
.add{justify-self:start;font:600 12px var(--mono);text-transform:uppercase;color:var(--ink);padding:10px 14px;min-height:40px;box-shadow:inset 0 0 0 1px var(--line2);background:var(--bg3)}
.add:hover{box-shadow:inset 0 0 0 1px var(--acc)}
.add span{color:var(--acc);margin-right:6px}

.bl{display:grid;gap:10px}
.b{display:grid;gap:6px}
.b-f{display:flex;align-items:flex-start;gap:8px;justify-content:space-between}
.b-f .ctl{display:flex;gap:4px;flex:none}
.tip{margin:0;font-size:13px;line-height:1.4;color:#FFB4A8;padding-top:2px;min-width:0}
.tip:empty{visibility:hidden}
.tip::before{content:"Tip  ";font:600 10px var(--mono);text-transform:uppercase;color:var(--acc);letter-spacing:.04em}
.tip:empty::before{content:none}
.hint{margin:0;font-size:13px;color:var(--mut)}

/* ---------- preview ---------- */
.pv-in{background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line);padding:14px}
.pv-h{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:11px}
.holder{position:relative;overflow:hidden}
.sheet{position:absolute;left:0;top:0;width:210mm;min-height:297mm;background:#fff;transform-origin:0 0;box-shadow:0 10px 40px rgba(0,0,0,.45)}
.pv-note{margin:12px 0 0;font-size:11px;line-height:1.5;text-transform:none;font-family:var(--sans);font-size:13px}
.pv-note b{color:var(--ink2);font-weight:600}
.breaks{position:absolute;inset:0;pointer-events:none}
.breaks .pb{position:absolute;left:0;right:0;border-top:2px dashed #FF5843}
.breaks .pb span{position:absolute;right:8px;top:4px;background:#FF5843;color:#fff;font:600 11px/1 "JetBrains Mono",monospace;text-transform:uppercase;padding:5px 7px}
.empty{color:#888;font:15px/1.5 Arial,Helvetica,sans-serif;text-align:center;padding:120px 40px}

/* ---------- the resume (shared by preview and print) ---------- */
.r{--ra:#111;font-family:Arial,Helvetica,"Liberation Sans",Arimo,sans-serif;color:#111;font-size:10.5pt;line-height:1.38;-webkit-font-smoothing:auto;text-align:left;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.r *{box-sizing:border-box}
.r h1{font-size:21pt;line-height:1.12;font-weight:700;margin:0;color:var(--ra);letter-spacing:0}
.r .r-ti{margin:3pt 0 0;font-size:11pt;color:#222}
.r .r-ct{margin:5pt 0 0;font-size:9.5pt;color:#222}
.r a{color:inherit;text-decoration:none}
.r h2{font-size:11pt;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ra);margin:11pt 0 5pt;padding:0 0 2.5pt;border-bottom:.75pt solid #9a9a9a;break-after:avoid;page-break-after:avoid}
.r p{margin:0}
.r .r-e{margin:0 0 7pt}
.r .r-e:last-child{margin-bottom:0}
.r .r-e.r-ed{margin-bottom:2.5pt}
.r .r-hd{break-inside:avoid;break-after:avoid;page-break-after:avoid}
.r .r-row{display:flex;justify-content:space-between;align-items:baseline;gap:10pt}
.r .r-row > span:first-child{min-width:0}
.r .r-d{flex:none;white-space:nowrap;color:#222}
.r .r-sub{color:#333}
.r ul{margin:3pt 0 0;padding:0 0 0 13pt}
.r li{margin:0 0 2pt;padding-left:1pt;break-inside:avoid}
.r li:last-child{margin-bottom:0}
.r .r-sk{margin:0 0 2.5pt}
.r .r-sk:last-child{margin-bottom:0}
.r .r-lst{margin-top:0}

.r.t-compact{font-size:9.8pt;line-height:1.3}
.r.t-compact h1{font-size:18pt}
.r.t-compact .r-ti{font-size:10.5pt;margin-top:2pt}
.r.t-compact .r-ct{font-size:9pt;margin-top:3pt}
.r.t-compact h2{font-size:10.2pt;margin:9pt 0 4pt;padding-bottom:1.5pt}
.r.t-compact .r-e{margin-bottom:5pt}
.r.t-compact ul{margin-top:1.5pt}
.r.t-compact li{margin-bottom:.8pt}
.r.t-compact .r-sk{margin-bottom:1pt}

/* ---------- toast ---------- */
.rb-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:#fff;color:#0F0F0F;font:600 13px var(--mono);text-transform:uppercase;padding:8px 8px 8px 16px;z-index:90;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);min-height:44px}
.rb-toast[hidden]{display:none}
.rb-toast button{font:600 12px var(--mono);text-transform:uppercase;background:#0F0F0F;color:#fff;padding:9px 12px}
.rb-toast span:only-child{padding-right:8px}

/* ---------- print: only the resume ---------- */
#printroot{display:none}
@media print{
  :root{color-scheme:light!important}
  html,body{background:#fff!important;color:#111!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}
  body > *:not(#printroot){display:none!important}
  #printroot{display:block!important;width:auto}
  #printroot .r{width:100%}
}
.ed,.sec-b,.ent,.bl,.b,.rb-bar{grid-template-columns:minmax(0,1fr)}

/* =================== v2: types, score, designs, ghost text =================== */
.rbsec [hidden]{display:none!important}
.small{font-size:13.5px;line-height:1.5;margin:0}

/* first run: only the type chooser */
.rbsec.first .rb-stk,.rbsec.first .rb-bar,.rbsec.first .rb,.rbsec.first .rb-notes{display:none}

/* ---------- type chooser ---------- */
.rb-types{background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line2);padding:20px;display:grid;gap:18px;margin-bottom:20px;scroll-margin-top:90px}
.types-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.types-h h2{margin:8px 0 6px;font-size:clamp(24px,3vw,34px);font-weight:500;letter-spacing:-.035em;line-height:1.1}
.types-h p{margin:0;font-size:15px;max-width:560px}
.tgrid{display:grid;gap:8px}
@media (min-width:640px){.tgrid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.tgrid{grid-template-columns:1fr 1fr 1fr}}
.tcard{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-content:start;text-align:left;padding:14px 16px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s,background .2s;min-height:44px}
.tcard:hover{box-shadow:inset 0 0 0 1px var(--line2);background:var(--bg3)}
.tcard[aria-pressed="true"]{background:var(--accdim);box-shadow:inset 0 0 0 1px var(--acc)}
.tcard .mn{font-size:11px;line-height:22px}
.tcard b{font-weight:500;font-size:17px;letter-spacing:-.02em;line-height:22px}
.tcard .d{grid-column:2;color:var(--ink2);font-size:14px;line-height:1.45}
.tcard .ord{grid-column:2;font:500 10.5px var(--mono);text-transform:uppercase;color:var(--mut);margin-top:4px;letter-spacing:.02em}
.types-f{margin:0;font-size:12px}
.types-f button{font:600 12px var(--mono);text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--acc);padding:6px 0;margin-left:6px}

/* ---------- sticky score bar ---------- */
.rb-stk{position:sticky;top:76px;z-index:6;margin-bottom:16px;background:var(--bg);box-shadow:0 -14px 0 var(--bg)}
.rb-score{background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line2);display:grid;gap:10px 22px;padding:10px 12px;align-items:center}
.sc-main{display:flex;align-items:center;gap:12px;min-width:0}
.sc-ring{position:relative;width:52px;height:52px;flex:none}
.sc-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.sc-ring .trk{stroke:var(--bg3)}
.sc-ring .val{stroke:var(--acc);transition:stroke-dashoffset .7s cubic-bezier(.16,1,.3,1)}
.sc-ring span{position:absolute;inset:0;display:grid;place-items:center;font:400 21px/1 var(--px);color:var(--acc);letter-spacing:-.02em}
.sc-txt{display:grid;gap:2px;min-width:0;flex:1}
.sc-txt .mn{font-size:10.5px;color:var(--mut)}
.sc-txt b{font-weight:500;font-size:15px;letter-spacing:-.01em;line-height:1.25}
.sc-jd{font-size:10.5px;color:var(--acc)}
.sc-jd:empty{display:none}
.sc-top{font-size:13px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-top::before{content:"Next: ";color:var(--acc);font:600 10.5px var(--mono);text-transform:uppercase}
.sc-mob{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;font:600 11px var(--mono);text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink)}
.sc-mob i{font-style:normal;transition:transform .2s}
.rb-score.open .sc-mob i{transform:rotate(180deg)}
.sc-fx{display:none;gap:6px;min-width:0}
.rb-score.open .sc-fx{display:grid}
.sc-fxh .mn{font-size:10.5px}
.sc-fx ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.sc-fx li button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:6px 8px;min-height:36px;transition:background .15s}
.sc-fx li button:hover,.sc-fx li button:focus-visible{background:var(--bg3)}
.sc-fx .n{font:400 16px/1 var(--px);color:var(--acc);flex:none;width:20px}
.sc-fx .t{flex:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-fx .g{font:500 11px var(--mono);color:var(--mut);flex:none}
.sc-fx .none{font-size:14px;color:var(--ink2);padding:6px 8px}
.sc-fxh{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 8px}
.sc-more{font:600 10.5px var(--mono);text-transform:uppercase;color:var(--ink2);border-bottom:1px solid var(--mut);padding:8px 0}
.sc-more:hover,.sc-more[aria-expanded="true"]{color:var(--ink);border-color:var(--acc)}
.sc-act{display:none}
@media (min-width:1000px){
  .rb-score{grid-template-columns:minmax(230px,280px) minmax(0,1fr) auto;padding:12px 16px}
  .sc-ring{width:62px;height:62px}
  .sc-ring span{font-size:25px}
  .sc-mob,.sc-top{display:none}
  .sc-fx{display:grid}
  .sc-fx ol{gap:0}
  .sc-fx li button{min-height:26px;padding:3px 8px}
  .sc-fx{gap:2px}
  .sc-more{padding:3px 0}
  .sc-fx .t{font-size:13.5px}
  .sc-act{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
  .sc-act .btn{margin:0 5px 5px 0}
  .sc-act .fit{min-height:34px;padding:6px 10px;font-size:11px}
}
@media (max-width:999px){.rb-score.open .sc-top{display:none}}

/* all checks + JD */
.rb-more{background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line2);margin-top:-1px;padding:16px;display:grid;gap:22px;max-height:min(62vh,620px);overflow:auto;overscroll-behavior:contain}
@media (min-width:1000px){.rb-more{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);padding:18px 20px}}
.more-c,.more-j{display:grid;gap:10px;align-content:start;min-width:0}
.more-h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.more-h .btn2{padding:4px 2px;font-size:11px}
.more-c a{color:var(--ink);border-bottom:1px solid var(--acc)}
.chklist{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);box-shadow:inset 0 0 0 1px var(--line)}
.chklist li{background:var(--bg);display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:4px 10px;padding:10px 12px;align-items:center}
.chklist .no{font:500 10.5px var(--mono);color:var(--mut)}
.chklist li div{display:grid;gap:2px;min-width:0}
.chklist b{font-weight:500;font-size:14px}
.chklist li div span{font-size:13px;color:var(--mut);line-height:1.4;overflow-wrap:anywhere}
.chklist .pt{font:500 11px var(--mono);padding:4px 6px}
.chklist .pass .pt{color:#6EDC96;background:rgba(110,220,150,.1)}
.chklist .warn .pt{color:#F5B841;background:rgba(245,184,65,.1)}
.chklist .fail .pt{color:var(--acc);background:var(--accdim)}
.chklist .go{font:600 10.5px var(--mono);text-transform:uppercase;padding:0 10px;min-height:32px;box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink)}
.chklist .go:hover{box-shadow:inset 0 0 0 1px var(--acc)}
#jd{width:100%;background:#151515;color:var(--ink);border:0;box-shadow:inset 0 0 0 1px var(--line2);padding:10px 12px;font:400 16px/1.45 var(--sans);resize:vertical;min-height:110px;border-radius:0;outline:none}
#jd:focus{box-shadow:inset 0 0 0 1px var(--acc),0 0 0 3px var(--accdim)}
#jd::placeholder{color:rgba(255,255,255,.32)}
#jdclr{justify-self:start;font-size:11px;padding:4px 2px}
#jdout{display:grid;gap:12px}
#jdout:empty{display:none}
.jdtop{display:flex;align-items:center;gap:14px}
.jdtop .pct{font:400 40px/1 var(--px);color:var(--acc)}
.jdtop .pct small{font-size:.45em}
.jdtop p{margin:0;font-size:13.5px;color:var(--ink2);line-height:1.45}
.kw{display:grid;gap:6px}
.kw .mn{font-size:10.5px;color:var(--mut)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips .chip{font-size:11.5px;padding:5px 8px}
.chips .chip.hit{background:var(--accdim);box-shadow:inset 0 0 0 1px rgba(255,88,67,.55);color:#fff}
.chips .chip.hit::before{content:"✓";color:var(--acc);font-weight:600}
.chips .chip.miss{background:transparent;box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink2)}
.chips .chip.miss::before{content:"+";color:var(--acc);font-weight:600}

/* ---------- toolbar pickers ---------- */
.pick{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line);text-align:left;transition:box-shadow .2s;max-width:100%}
.pick:hover,.pick[aria-expanded="true"]{box-shadow:inset 0 0 0 1px var(--acc)}
.pick b{font-weight:500;font-size:15px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pick .ch{font:600 10.5px var(--mono);text-transform:uppercase;color:var(--acc);margin-left:4px;flex:none}
.pick .mn{flex:none;font-size:11px}
.rb-design{display:grid;gap:12px;padding:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
.rb-design .more-h .mn{font-size:11px}
.tgrid2{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(132px,1fr);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px}
.th{display:grid;gap:4px;align-content:start;text-align:left;scroll-snap-align:start;padding:6px 6px 10px;box-shadow:inset 0 0 0 1px var(--line);background:var(--bg2);transition:box-shadow .2s}
.th:hover{box-shadow:inset 0 0 0 1px var(--line2)}
.th[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--acc);background:var(--accdim)}
.th-p{display:block;position:relative;aspect-ratio:210/240;overflow:hidden;background:#fff;pointer-events:none}
.th-s{position:absolute;left:0;top:0;width:210mm;min-height:297mm;background:#fff;transform-origin:0 0;display:block}
.th-n{font:600 12px var(--mono);text-transform:uppercase;margin-top:4px;padding:0 2px}
.th-d{font-size:12.5px;color:var(--mut);line-height:1.35;padding:0 2px}
.r.thumb .gh,.r.thumb .gx{color:inherit}
.r.thumb .gx{display:none}

/* section notes + jump highlight */
.snote{margin:0 0 2px;padding:9px 12px;background:var(--bg3);box-shadow:inset 2px 0 0 var(--acc);color:var(--ink2);font-size:13.5px;line-height:1.45}
@keyframes rbflash{0%{box-shadow:0 0 0 2px var(--acc),0 0 0 8px var(--accdim)}100%{box-shadow:0 0 0 2px transparent,0 0 0 8px transparent}}
.flash{animation:rbflash 1.4s ease-out}
.ed .f,.ed .b,.rb-types,.rb-design{scroll-margin-top:200px}

/* ---------- ghost (example) text in the preview ---------- */
.gnote{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;justify-content:space-between;padding:9px 12px;margin-bottom:12px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line);font-size:13.5px;color:var(--ink2)}
.gnote button{font:600 11px var(--mono);text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--acc);padding:6px 0}
#rprev .gh{color:#a8a8a8}
#rprev .gh b,#rprev .gh a{color:#a8a8a8}
#rprev .r-gs h2{color:#9a9a9a;border-color:#d4d4d4}
#rprev [data-go]{cursor:text}
#rprev .r-gs:hover .gh,#rprev [data-go]:hover{color:#8a8a8a}
.r .gx{display:inline-block;vertical-align:middle;margin-left:8pt;font:600 6.5pt/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;color:#C2432F;background:#FFF0ED;padding:2.5pt 4pt;border:.5pt solid #F3B8AD}
.r .r-head{position:relative}
.r .r-head > .gx{position:absolute;right:0;top:2pt;margin:0}
#rmeasure{position:absolute;left:-10000px;top:0;visibility:hidden;pointer-events:none}

/* ---------- designs (all one column, real text, no tables or icons) ---------- */
/* modern: accent rule under headings */
.r.t-modern h1{color:var(--ra);font-size:22pt;letter-spacing:-.01em}
.r.t-modern .r-ti{color:#333}
.r.t-modern h2{text-transform:none;letter-spacing:0;font-size:12pt;border-bottom:1.5pt solid var(--ra);color:#111;padding-bottom:2pt}
.r.t-modern .r-ct{color:#333}
/* minimal: centred header, light headings */
.r.t-minimal{line-height:1.42}
.r.t-minimal .r-head{text-align:center}
.r.t-minimal h1{font-size:20pt;font-weight:400;letter-spacing:.06em;text-transform:uppercase}
.r.t-minimal .r-ti{font-size:10.5pt;letter-spacing:.04em;color:#444}
.r.t-minimal .r-ct{font-size:9.2pt;color:#444}
.r.t-minimal h2{border:0;font-size:9.5pt;letter-spacing:.16em;font-weight:700;margin:12pt 0 4pt;padding:0}
.r.t-minimal .r-head > .gx{position:static;margin:4pt 0 0}
/* executive: serif */
.r.t-serif{font-family:Georgia,"Times New Roman",Times,"Liberation Serif",serif;font-size:10.5pt;line-height:1.36}
.r.t-serif h1{font-size:22pt;font-weight:400;letter-spacing:.01em}
.r.t-serif .r-ti{font-style:italic;color:#333}
.r.t-serif h2{font-size:11pt;font-weight:400;text-transform:uppercase;letter-spacing:.12em;border-bottom:.6pt solid #777}
.r.t-serif b{font-weight:700}
/* bold: big name, heavy header rule */
.r.t-bold .r-head{padding-bottom:7pt;border-bottom:3pt solid var(--ra);margin-bottom:2pt}
.r.t-bold h1{font-size:26pt;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.r.t-bold .r-ti{font-size:11.5pt;font-weight:700;color:#222;margin-top:4pt}
.r.t-bold h2{border:0;padding:0;font-size:11.5pt;font-weight:800;letter-spacing:.06em;margin:11pt 0 4pt}
.r.t-bold .r-head > .gx{top:4pt}

/* ---------- mobile: keep the chrome small ---------- */
.rb-stk{padding-bottom:8px}
@media (max-width:999px){
  .rb-score{padding:8px 10px;gap:8px}
  .sc-ring{width:46px;height:46px}
  .sc-ring span{font-size:19px}
  .sc-txt .mn{font-size:9.5px}
  .sc-txt b{font-size:14px}
  .sc-top{font-size:12.5px}
  .sc-mob{min-height:40px;padding:0 9px;font-size:10.5px}
  .sc-fx .t{font-size:13.5px}
  .sc-fx li button{min-height:40px}
  .rb-more{max-height:52vh;padding:14px 12px}
  .tabs button{min-height:42px}
  .rb-bar{padding:12px;gap:12px}
  .rb-bar-row{gap:8px}
  .rb-bar .pick{flex:1 1 100%;min-height:42px;padding:6px 10px}
  .pick b{font-size:14px}
  .rb-bar .grp{gap:6px 10px}
  .sw button{width:40px;height:40px}
  .rb-bar .acts{gap:2px 16px}
  .rb-bar .acts .btn2{font-size:11.5px;padding:9px 2px;border-bottom-width:1px}
  .rb-bar .priv{font-size:10.5px}
}
@media (min-width:480px) and (max-width:999px){.rb-bar .pick{flex:1 1 40%}}

/* phones: backup / import / checker link tucked behind "More" */
.acts .more-t{display:none}
@media (max-width:720px){.acts .more-t{display:inline-flex}.acts .opt2{display:none}.acts.open .opt2{display:inline-flex}}

/* =================== import an existing resume =================== */
.rb-bar .acts .imp-t{color:var(--acc);border-color:var(--acc)}
.types-imp{display:flex;align-items:center;gap:14px;justify-content:space-between;text-align:left;padding:14px 16px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line2);min-height:44px;transition:box-shadow .2s}
.types-imp:hover,.types-imp:focus-visible{box-shadow:inset 0 0 0 1px var(--acc)}
.types-imp .ti-t{display:grid;gap:3px;min-width:0}
.types-imp b{font-weight:500;font-size:17px;letter-spacing:-.02em}
.types-imp .ti-t span{font-size:14px;color:var(--ink2);line-height:1.45}
.types-imp .ti-go{width:32px;height:32px;flex:none;display:grid;place-items:center;background:var(--acc);color:#fff;font:600 15px var(--mono)}

html.imd-on{overflow:hidden}
.imd{padding:0;border:0;margin:auto;width:min(760px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);background:var(--bg2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2),0 30px 80px rgba(0,0,0,.6);border-radius:0;overflow:hidden}
.imd[open]{display:flex;flex-direction:column}
.imd::backdrop{background:rgba(0,0,0,.72)}
.imd [hidden]{display:none!important}
.imd-in{overflow:auto;overscroll-behavior:contain;padding:20px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.imd-in > div{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.imd-hd{display:flex!important;justify-content:space-between;align-items:flex-start;gap:12px}
.imd-hd h2{margin:6px 0 0;font-size:clamp(22px,3vw,30px);font-weight:500;letter-spacing:-.035em;line-height:1.1}
.imd-tabs{display:grid;gap:8px}
@media (min-width:640px){.imd-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.imd-tabs .opt{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;font-size:14.5px;color:var(--ink)}
.imd-tabs .opt .mn{font-size:11px;flex:none}
.imd-tabs .opt em{font:500 9.5px var(--mono);font-style:normal;text-transform:uppercase;color:var(--acc);margin-left:auto;padding-left:6px;white-space:nowrap}
.imd-tabs .opt:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.imd-p{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.imd-drop{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);padding:26px 18px 22px;display:grid;justify-items:center;text-align:center;gap:12px;transition:box-shadow .2s,background .2s}
.imd-drop.over{box-shadow:inset 0 0 0 2px var(--acc);background:var(--accdim)}
.imd-drop .dic{width:32px;height:38px;color:var(--mut)}
.imd-drop .dt{margin:0;display:grid;gap:2px}
.imd-drop .dt b{font-size:18px;font-weight:500;letter-spacing:-.02em}
.imd-drop .dt span{font-size:14px}
.imd .btn{min-height:46px;justify-self:start;margin:5px}
.imd-drop .btn{justify-self:center}
.imd textarea{width:100%;background:#151515;border:0;border-radius:0;box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink);font:400 16px/1.45 var(--sans);padding:10px 12px;outline:none;resize:vertical;-webkit-appearance:none;appearance:none}
.imd textarea:focus{box-shadow:inset 0 0 0 1px var(--acc),0 0 0 3px var(--accdim)}
.imd textarea::placeholder{color:rgba(255,255,255,.32)}
#imd-json,#imd-pr{font:400 13.5px/1.5 var(--mono)}
#imd-pr{color:var(--ink2);background:var(--bg);min-height:130px}
.imd-prompt{display:grid;gap:10px}
.imd-step{display:flex;gap:10px;align-items:baseline}
.imd-step p{margin:0;font-size:15px;color:var(--ink2);line-height:1.45}
.imd-step .mn{flex:none}
.imd-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.imd-busy{display:grid;gap:10px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);padding:18px}
.imd-busy .bar{display:block;height:3px;background:var(--bg3);overflow:hidden;position:relative}
.imd-busy .bar i{position:absolute;inset:0 auto 0 0;width:35%;background:var(--acc);animation:imdbar 1.1s cubic-bezier(.6,0,.4,1) infinite}
@keyframes imdbar{0%{transform:translateX(-100%)}100%{transform:translateX(290%)}}
.imd-err p{margin:0;font-size:15px;color:var(--ink2);line-height:1.5}
.imd-err,.imd-warn{padding:14px 16px}
.imd-warn h4{font-size:15px}
.imd-warn ul{font-size:14px}
.imd-src{font-size:11px}
.imd-rh{margin:-6px 0 0;font-size:22px;font-weight:500;letter-spacing:-.03em;outline:none}
.imd-sum{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);box-shadow:inset 0 0 0 1px var(--line)}
.imd-sum > li{background:var(--bg);display:grid;grid-template-columns:minmax(96px,128px) minmax(0,1fr);gap:4px 12px;padding:10px 12px;align-items:baseline}
.imd-sum .k{font:500 11px var(--mono);text-transform:uppercase;color:var(--ink2);display:flex;align-items:center;gap:8px}
.imd-sum .k::before{content:"";width:7px;height:7px;flex:none;background:#6EDC96}
.imd-sum .no .k::before{background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line2)}
.imd-sum .v{font-size:14.5px}
.imd-sum .no .v{color:var(--mut)}
.imd-sum ul{grid-column:2;margin:2px 0 0;padding:0;list-style:none;display:grid;gap:2px}
.imd-sum ul li{font-size:13px;color:var(--mut);line-height:1.4;overflow-wrap:anywhere}
.imd-act{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px 22px}
.imd-act .btn{margin:5px}
.imd-act .btn2{min-height:44px}
.imd-priv{display:flex;align-items:center;gap:8px;margin:0;font-size:11px;padding-top:12px;box-shadow:0 -1px 0 var(--line)}
.imd-priv svg{width:14px;height:14px;flex:none;color:var(--acc)}
@media (max-width:560px){
  .imd{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
  .imd-in{padding:16px 14px}
  .imd-sum > li{grid-template-columns:minmax(0,1fr)}
  .imd-sum ul{grid-column:1}
  .types-imp{padding:12px 14px}
  .types-imp b{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.imd-busy .bar i{animation:none;width:100%}}
