/* Bilbilack — CRS Express Entry Calculator | namespaced under .crs-calc */
:root{
  /* Bilbilack brand system */
  --ink:#0F1729; --ink-2:#18233F; --ink-3:#243150;
  --snow:#FFFFFF; --mist:#F4F6F9; --line:#E8EDF2; --line-2:#D9E0E9;
  --maple:#0EA47A; --maple-deep:#088563; --maple-soft:#E8F7F1;   /* brand green */
  --pine:#0EA47A; --amber:#FCB02D; --rose:#FF6B5B;               /* success / warning / coral */
  --txt:#0F1729; --muted:#6B7689; --muted-2:#9CA3AF;
  --shadow:0 1px 2px rgba(15,23,41,.04),0 8px 28px rgba(15,23,41,.06);
  --shadow-lg:0 18px 50px rgba(15,23,41,.16);
  --r-card:18px; --r-input:12px;
}.crs-calc *{box-sizing:border-box;margin:0;padding:0}.crs-calc{
  font-family:'Vazirmatn',system-ui,sans-serif;
  background:var(--mist); color:var(--txt);
  line-height:1.75; font-weight:400;
  -webkit-font-smoothing:antialiased; font-feature-settings:"ss01";
}.crs-calc .wrap{max-width:1180px;margin:0 auto;padding:0 20px}.crs-calc /* ===== Header ===== */
.app-head{padding:34px 0 26px}.crs-calc .brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.crs-calc .brand-leaf{width:30px;height:30px;color:var(--maple);flex:none}.crs-calc .brand-name{font-weight:800;font-size:1.15rem;letter-spacing:-.01em}.crs-calc .brand-name span{color:var(--maple)}.crs-calc .eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--maple-soft);color:var(--maple-deep);
  font-size:.78rem;font-weight:700;padding:6px 14px;border-radius:999px;margin-bottom:16px;
}.crs-calc .eyebrow b{width:7px;height:7px;border-radius:50%;background:var(--maple);display:inline-block}.crs-calc h1.title{font-size:clamp(1.9rem,4.4vw,3rem);font-weight:900;letter-spacing:-.025em;line-height:1.18;max-width:18ch}.crs-calc h1.title em{font-style:normal;color:var(--maple);position:relative;white-space:nowrap}.crs-calc .subtitle{font-size:1.06rem;color:var(--muted);max-width:60ch;margin-top:14px;font-weight:500}.crs-calc .meta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.crs-calc .meta-chip{
  display:inline-flex;align-items:center;gap:7px;background:var(--snow);
  border:1px solid var(--line);border-radius:10px;padding:7px 13px;
  font-size:.82rem;font-weight:600;color:var(--ink-2)
}.crs-calc .meta-chip svg{width:15px;height:15px;color:var(--pine);flex:none}.crs-calc /* ===== Layout ===== */
.layout{display:grid;grid-template-columns:1fr 360px;gap:26px;align-items:start;padding-bottom:40px}
@media(max-width:920px){.crs-calc .layout{grid-template-columns:1fr;gap:0}}.crs-calc /* ===== Form ===== */
.form-col{display:flex;flex-direction:column;gap:16px}.crs-calc .card{
  background:var(--snow);border:1px solid var(--line);border-radius:var(--r-card);
  box-shadow:var(--shadow);overflow:hidden;
}.crs-calc .card-head{display:flex;align-items:center;gap:13px;padding:18px 22px;border-bottom:1px solid var(--line)}.crs-calc .card-num{
  width:32px;height:32px;border-radius:9px;background:var(--ink);color:#fff;
  display:grid;place-items:center;font-weight:800;font-size:.92rem;flex:none;
  font-variant-numeric:tabular-nums;
}.crs-calc .card-title{font-weight:800;font-size:1.04rem;letter-spacing:-.01em}.crs-calc .card-sub{font-size:.82rem;color:var(--muted);font-weight:500;margin-top:1px}.crs-calc .card-body{padding:20px 22px;display:flex;flex-direction:column;gap:18px}.crs-calc .card.is-disabled{opacity:.5;pointer-events:none;filter:saturate(.4)}.crs-calc .field{display:flex;flex-direction:column;gap:9px}.crs-calc .field > label{font-weight:700;font-size:.92rem;color:var(--ink-2)}.crs-calc .field .hint{font-size:.78rem;color:var(--muted);font-weight:500;margin-top:-3px}.crs-calc /* selects & inputs */
select, .crs-calc input[type=number]{
  width:100%;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--txt);
  background:var(--mist);border:1.5px solid var(--line-2);border-radius:var(--r-input);
  padding:12px 14px;transition:.15s;appearance:none;
}.crs-calc select{
  background-image: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='%236B7480' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:left 14px center;padding-left:38px;cursor:pointer;
}.crs-calc select:focus, .crs-calc input:focus{outline:none;border-color:var(--maple);background:var(--snow);box-shadow:0 0 0 4px var(--maple-soft)}.crs-calc select:hover, .crs-calc input:hover{border-color:var(--muted-2)}.crs-calc /* segmented toggle */
.seg{display:flex;background:var(--mist);border:1.5px solid var(--line-2);border-radius:var(--r-input);padding:4px;gap:4px}.crs-calc .seg button{
  flex:1;font-family:inherit;font-size:.9rem;font-weight:700;color:var(--muted);
  background:transparent;border:none;border-radius:9px;padding:10px;cursor:pointer;transition:.18s;
}.crs-calc .seg button.on{background:var(--snow);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}.crs-calc /* language skill grid */
.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.crs-calc .skill-grid .field label{font-size:.85rem}.crs-calc .clb-tag{
  display:inline-flex;align-items:center;gap:4px;font-size:.74rem;font-weight:700;
  color:var(--pine);background:#E7F4EE;border-radius:6px;padding:2px 7px;margin-right:6px;
}.crs-calc .clb-tag.low{color:var(--rose);background:#FBEBEA}.crs-calc .lang-note{
  font-size:.8rem;color:var(--muted);background:var(--mist);border-radius:10px;
  padding:11px 14px;display:flex;gap:9px;line-height:1.6
}.crs-calc .lang-note svg{width:16px;height:16px;flex:none;color:var(--maple);margin-top:3px}.crs-calc .row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:480px){.crs-calc .row-2, .crs-calc .skill-grid{grid-template-columns:1fr}}.crs-calc .check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:4px 0}.crs-calc .check input{position:absolute;opacity:0;width:0;height:0}.crs-calc .check .box{
  width:24px;height:24px;border-radius:7px;border:2px solid var(--line-2);background:var(--mist);
  flex:none;display:grid;place-items:center;transition:.15s;margin-top:2px
}.crs-calc .check .box svg{width:14px;height:14px;color:#fff;opacity:0;transform:scale(.5);transition:.15s}.crs-calc .check input:checked + .box{background:var(--maple);border-color:var(--maple)}.crs-calc .check input:checked + .box svg{opacity:1;transform:scale(1)}.crs-calc .check input:focus-visible + .box{box-shadow:0 0 0 4px var(--maple-soft)}.crs-calc .check .ctxt strong{display:block;font-weight:700;font-size:.93rem;color:var(--ink-2)}.crs-calc .check .ctxt small{font-size:.8rem;color:var(--muted)}.crs-calc /* ===== Score panel ===== */
.score-col{position:sticky;top:18px}
@media(max-width:920px){.crs-calc .score-col{position:static;margin-bottom:22px}}.crs-calc .score-panel{
  background:linear-gradient(165deg,var(--ink) 0%,var(--ink-2) 100%);
  border-radius:22px;padding:26px 24px 24px;color:#fff;box-shadow:var(--shadow-lg);
  position:relative;overflow:hidden;
}.crs-calc .score-panel::before{
  content:"";position:absolute;top:-60px;left:-60px;width:200px;height:200px;
  background:radial-gradient(circle,rgba(14,164,122,.30),transparent 70%);pointer-events:none
}.crs-calc .sp-label{font-size:.82rem;color:#A8B0BD;font-weight:600;text-align:center}.crs-calc .gauge-wrap{position:relative;width:240px;height:142px;margin:6px auto 0}.crs-calc .gauge-wrap svg{display:block;overflow:visible}.crs-calc .gauge-track{fill:none;stroke:rgba(255,255,255,.1);stroke-width:16;stroke-linecap:round}.crs-calc .gauge-fill{fill:none;stroke-width:16;stroke-linecap:round;transition:stroke-dashoffset .7s cubic-bezier(.22,1,.36,1),stroke .5s}.crs-calc .gauge-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:4px}.crs-calc .gauge-score{font-size:3.5rem;font-weight:900;line-height:.9;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.crs-calc .gauge-max{font-size:.82rem;color:#8B93A1;font-weight:600;margin-top:2px}.crs-calc .verdict{
  margin:16px auto 0;text-align:center;font-weight:700;font-size:.92rem;
  padding:9px 16px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;
  width:100%;justify-content:center;
}.crs-calc .verdict .dot{width:9px;height:9px;border-radius:50%;flex:none}.crs-calc .verdict-wrap{text-align:center}.crs-calc .breakdown{margin-top:22px;display:flex;flex-direction:column;gap:13px}.crs-calc .bd-row{display:flex;flex-direction:column;gap:6px}.crs-calc .bd-top{display:flex;justify-content:space-between;align-items:baseline;font-size:.84rem}.crs-calc .bd-name{color:#C4CBD6;font-weight:600}.crs-calc .bd-val{font-weight:800;font-variant-numeric:tabular-nums}.crs-calc .bd-val small{color:#7A828F;font-weight:600;font-size:.82em}.crs-calc .bd-bar{height:7px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}.crs-calc .bd-bar i{display:block;height:100%;border-radius:99px;width:0;transition:width .7s cubic-bezier(.22,1,.36,1)}.crs-calc .bd-bar.c1 i{background:#0EA47A}.crs-calc .bd-bar.c2 i{background:#6366F1}.crs-calc .bd-bar.c3 i{background:#FF6B5B}.crs-calc .bd-bar.c4 i{background:#FCB02D}.crs-calc .lever{
  margin-top:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:14px;padding:14px 16px;
}.crs-calc .lever-h{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#A8B0BD;font-weight:700;margin-bottom:7px}.crs-calc .lever-h svg{width:15px;height:15px;color:var(--amber)}.crs-calc .lever-b{font-size:.9rem;font-weight:600;line-height:1.6;color:#EDF0F4}.crs-calc .lever-b b{color:#fff}.crs-calc .cta{
  display:flex;align-items:center;justify-content:center;gap:9px;
  margin-top:18px;width:100%;background:var(--maple);color:#fff;
  font-family:inherit;font-weight:800;font-size:.98rem;border:none;border-radius:13px;
  padding:15px;cursor:pointer;transition:.18s;text-decoration:none;
}.crs-calc .cta:hover{background:var(--maple-deep);transform:translateY(-1px)}.crs-calc .cta svg{width:18px;height:18px}.crs-calc .cta-note{font-size:.76rem;color:#7A828F;text-align:center;margin-top:9px;font-weight:500}.crs-calc /* mobile sticky mini-bar */
.mini-bar{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:50;
  background:var(--ink);color:#fff;padding:12px 18px;
  align-items:center;justify-content:space-between;box-shadow:0 -8px 30px rgba(0,0,0,.25);
}.crs-calc .mini-bar .mb-l{font-size:.78rem;color:#A8B0BD;font-weight:600}.crs-calc .mini-bar .mb-s{font-size:1.7rem;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}.crs-calc .mini-bar .mb-v{font-size:.78rem;font-weight:700}
@media(max-width:920px){.crs-calc .mini-bar.show{display:flex}}.crs-calc /* ===== SEO content ===== */
.seo-section{background:var(--snow);border-top:1px solid var(--line);margin-top:10px;padding:46px 0}.crs-calc .seo-inner{max-width:760px;margin:0 auto}.crs-calc .seo-inner h2{font-size:1.6rem;font-weight:900;letter-spacing:-.02em;margin:34px 0 14px;line-height:1.3}.crs-calc .seo-inner h2:first-child{margin-top:0}.crs-calc .seo-inner h3{font-size:1.18rem;font-weight:800;margin:26px 0 10px}.crs-calc .seo-inner p{color:#3A424E;margin-bottom:14px;font-weight:500}.crs-calc .seo-inner ul{margin:0 0 16px;padding-right:22px;color:#3A424E;font-weight:500}.crs-calc .seo-inner li{margin-bottom:8px}.crs-calc .edit-flag{
  background:#FFF8E6;border:1px dashed #E0B548;border-radius:12px;padding:14px 18px;
  font-size:.85rem;color:#8A6A1E;font-weight:600;margin-bottom:26px;display:flex;gap:9px
}.crs-calc .edit-flag svg{width:18px;height:18px;flex:none;margin-top:2px}.crs-calc /* FAQ */
.faq{margin-top:14px;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.crs-calc .faq-item{border-bottom:1px solid var(--line)}.crs-calc .faq-item:last-child{border-bottom:none}.crs-calc .faq-q{
  width:100%;text-align:right;background:var(--snow);border:none;font-family:inherit;
  font-size:1rem;font-weight:700;color:var(--ink-2);padding:18px 20px;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:14px;
}.crs-calc .faq-q:hover{background:var(--mist)}.crs-calc .faq-q .pl{width:24px;height:24px;flex:none;display:grid;place-items:center;color:var(--maple);font-size:1.3rem;transition:.25s;font-weight:400}.crs-calc .faq-item.open .pl{transform:rotate(45deg)}.crs-calc .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}.crs-calc .faq-a p{padding:0 20px 18px;color:#3A424E;font-weight:500;margin:0}.crs-calc /* footer disclaimer */
.foot{background:var(--ink);color:#9AA2AD;padding:30px 0;font-size:.83rem;line-height:1.8}.crs-calc .foot .wrap{display:flex;flex-direction:column;gap:8px}.crs-calc .foot a{color:#C4CBD6}.crs-calc .foot strong{color:#fff}.crs-calc ::-webkit-scrollbar{width:10px;height:10px}.crs-calc ::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:10px}
@media(prefers-reduced-motion:reduce){.crs-calc *{transition:none!important;animation:none!important}}

/* ============ Popup / Modal (global, brand-aligned) ============ */
.crsm-trigger{
  display:inline-flex;align-items:center;gap:9px;font-family:'Vazirmatn',inherit;
  background:var(--maple);color:#fff;font-weight:800;font-size:1rem;
  border:none;border-radius:13px;padding:14px 24px;cursor:pointer;
  box-shadow:0 6px 18px rgba(14,164,122,.28);transition:.18s;
}
.crsm-trigger:hover{background:var(--maple-deep);transform:translateY(-1px)}
.crsm-overlay{
  position:fixed;inset:0;z-index:9999;background:rgba(15,23,41,.55);
  backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;
  padding:24px 14px;overflow-y:auto;
}
.crsm-overlay[hidden]{display:none}
.crsm-dialog{
  position:relative;width:100%;max-width:1180px;margin:auto;
  background:var(--mist);border-radius:22px;padding:8px 4px 4px;
  box-shadow:0 30px 80px rgba(15,23,41,.4);animation:crsm-in .3s cubic-bezier(.22,1,.36,1);
}
@keyframes crsm-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.crsm-close{
  position:absolute;top:14px;left:14px;z-index:5;width:40px;height:40px;border-radius:50%;
  background:var(--snow);border:1px solid var(--line);color:var(--muted);
  font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center;
  box-shadow:var(--shadow);transition:.15s;
}
.crsm-close:hover{color:var(--maple);border-color:var(--maple)}
@media(max-width:920px){.crsm-overlay{padding:0}.crsm-dialog{border-radius:0;min-height:100vh}}
