.placement-shell{
  --pl-bg:#FCF8F1;
  --pl-surface:#fffdf8;
  --pl-card:#fff;
  --pl-navy:#111f4f;
  --pl-muted:#6f7485;
  --pl-teal:#009f9c;
  --pl-teal-2:#18b8b5;
  --pl-line:#efe4d6;
  --pl-gold:#efbf59;
  --pl-coral:#f47e68;
  --pl-blue:#388fda;
  --pl-mint:#eaf9f6;
  --pl-shadow:0 8px 22px rgba(17,31,79,.055);
  width:min(100%,410px);
  margin:0 auto;
  padding:0 10px 18px;
  display:grid;
  gap:10px;
  direction:rtl;
  color:var(--pl-navy);
  font-family:"Vazirmatn","IRANSansX","IRANSans","Estedad","Dana","Shabnam",Tahoma,Arial,sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  font-size:14px;
}
.placement-screen{padding-bottom:12px}
.pl-card{
  background:rgba(255,255,255,.96);
  border:1px solid var(--pl-line);
  border-radius:21px;
  box-shadow:var(--pl-shadow);
}
.pl-btn,
.placement-nav button,
.pl-step-actions a,
.pl-step-actions button{
  font-family:inherit;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center;
  line-height:1 !important;
  white-space:nowrap;
  box-sizing:border-box;
  vertical-align:middle;
}
.pl-btn{
  height:48px;
  min-height:48px;
  border-radius:18px;
  text-decoration:none;
  font-size:.94rem;
  font-weight:950;
  padding:0 16px;
  border:1px solid transparent;
  cursor:pointer;
}
.pl-btn-primary{
  background:linear-gradient(180deg,var(--pl-teal-2),#008d91);
  color:#fff;
  box-shadow:0 10px 20px rgba(0,159,156,.20), inset 0 1px 0 rgba(255,255,255,.2);
}
.pl-btn-secondary{background:#fff;color:var(--pl-navy);border-color:#cfd8e6}
.pl-bottom-actions{display:grid;gap:8px}

/* Intro */
.pl-intro-hero{text-align:center;display:grid;gap:8px;padding:0 2px 1px}
.pl-intro-owl{width:100%;max-width:340px;margin:0 auto -4px;display:block;border-radius:18px}
.pl-intro-hero h1{
  margin:0 auto;
  color:var(--pl-navy);
  font-size:1.48rem;
  line-height:1.5;
  font-weight:950;
  letter-spacing:-.02em;
  max-width:330px;
}
.pl-intro-hero h1 em,
.pl-result-hero h1 em,
.pl-path-hero h1 em,
.pl-skill-panel h2 em{font-style:normal;color:var(--pl-teal);font-weight:950}
.pl-intro-hero h1 strong{color:var(--pl-coral);font-weight:950}
.pl-intro-hero p{margin:0;color:#4b5263;font-size:.84rem;line-height:1.65;font-weight:650}
.pl-intro-hero p span{color:var(--pl-teal);font-weight:950}
.pl-skill-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:2px;align-items:center}
.pl-skill-chips span{
  height:31px;
  min-width:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 6px;
  border:1px solid #e6e5df;
  border-radius:12px;
  background:#f8fbfb;
  color:#172855;
  font-size:.72rem;
  font-weight:900;
  box-shadow:0 3px 10px rgba(17,31,79,.026);
  overflow:hidden;
  text-overflow:ellipsis;
}
.pl-skill-chips .c-mint{background:#effbf9;border-color:#dcefed;color:#087f7f}
.pl-skill-chips .c-blue{background:#f0f6ff;border-color:#dce9fb;color:#276eaa}
.pl-skill-chips .c-gold{background:#fff8e9;border-color:#f0e2be;color:#94651d}
.pl-skill-chips .c-coral{background:#fff0ed;border-color:#f5dcd6;color:#c25d4d}
.pl-result-preview{padding:12px;display:grid;gap:9px;background:linear-gradient(180deg,#fff,#fffdf8)}
.pl-result-preview h2{margin:0;text-align:center;color:var(--pl-navy);font-size:.98rem;line-height:1.5;font-weight:950}
.pl-result-preview article{
  display:grid;
  grid-template-columns:66px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:72px;
  padding:9px 10px;
  border-radius:16px;
  background:#fffdfa;
  border:1px solid #efe8dc;
}
.pl-result-preview img{width:64px;height:42px;object-fit:contain;justify-self:center}
.pl-result-preview strong{display:block;color:var(--pl-navy);font-size:.91rem;line-height:1.45;font-weight:950}
.pl-result-preview mark{background:transparent;color:var(--pl-teal);padding:0}
.pl-result-preview small{display:block;color:var(--pl-muted);font-size:.72rem;line-height:1.55;margin-top:1px;font-weight:600}

/* Test */
.pl-test-form{display:grid;gap:9px}
.pl-test-header{
  position:sticky;
  top:8px;
  z-index:10;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(12px);
  border:1px solid var(--pl-line);
  border-radius:19px;
  box-shadow:var(--pl-shadow);
  padding:9px 11px;
  display:grid;
  gap:8px;
}
.pl-test-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pl-test-title{display:grid;gap:0;text-align:right}
.pl-test-title h1{margin:0;font-size:1.03rem;line-height:1.4;font-weight:950;color:var(--pl-navy);letter-spacing:-.01em}
.pl-test-title h1 em{font-style:normal;color:var(--pl-gold);font-size:.85rem}
.pl-test-title span{font-size:.76rem;color:var(--pl-muted);font-weight:900}
.pl-close-btn{width:36px;height:36px;border-radius:13px;border:1px solid #eee5d9;background:#fff;color:var(--pl-navy);font-size:1.18rem;line-height:1;box-shadow:0 8px 16px rgba(16,31,79,.04);cursor:pointer;padding:0}
.placement-progress-track{height:8px;border-radius:999px;background:#f0eee9;overflow:hidden}
.placement-progress-fill{display:block;height:100%;border-radius:inherit;width:0;background:linear-gradient(90deg,#008f91,var(--pl-teal-2))}
.placement-question{display:none;padding:11px;gap:9px}
.placement-question.is-active{display:grid}
.pl-question-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pl-question-meta span{min-height:28px;padding:0 9px;border-radius:999px;display:inline-flex;align-items:center;font-size:.73rem;font-weight:900;background:#eef8f7;color:#087f7f}
.pl-question-meta span:first-child{background:#fff7e8;color:#8f6424}
.pl-media-stage{overflow:hidden;padding:7px;border-radius:17px;background:#fffdfa;border:1px solid #efe8dc;display:grid;gap:7px}
.pl-media-stage video,.pl-media-stage audio{width:100%;border-radius:13px;background:#111827;display:block}
.pl-audio-card{display:grid;place-items:center;padding:12px;border-radius:17px;border:1px solid #e4eeee;background:linear-gradient(180deg,#f9ffff,#fffaf1)}
.placement-media-btn{height:38px;min-height:38px;border:0;border-radius:999px;background:#11275d;color:#fff;padding:0 15px;font-size:.82rem;font-weight:900;cursor:pointer;font-family:inherit}
.placement-fallback{margin:0;color:var(--pl-muted);font-size:.74rem;line-height:1.62;direction:ltr;text-align:left}
.pl-question-title{margin:1px 0 0;text-align:center;color:var(--pl-navy);font-size:.98rem;line-height:1.8;font-weight:950;letter-spacing:-.005em}
.placement-passage{background:#fbfcff;border:1px solid #e7eaf2;border-radius:14px;padding:10px 11px;color:#172544;font-size:.8rem;line-height:1.8;direction:ltr;text-align:left;white-space:pre-line}
.placement-choices{display:grid;gap:8px}
.placement-choice{position:relative;display:block;cursor:pointer}
.placement-choice input{position:absolute;opacity:0;pointer-events:none}
.pl-choice-card{
  min-height:50px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  gap:9px;
  padding:9px 11px;
  border:1px solid #eee5d9;
  border-radius:16px;
  background:#fff;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.pl-choice-indicator{width:19px;height:19px;border-radius:50%;border:2px solid #d5d1ca;position:relative;order:1}
.pl-choice-copy{order:2;color:var(--pl-navy);font-size:.88rem;line-height:1.55;font-weight:850;text-align:right}
.placement-choice input:checked + .pl-choice-card{border-color:var(--pl-teal);background:#f7fffe;box-shadow:0 0 0 3px rgba(0,159,156,.075)}
.placement-choice input:checked + .pl-choice-card .pl-choice-indicator{border-color:var(--pl-teal);background:rgba(0,159,156,.1)}
.placement-choice input:checked + .pl-choice-card .pl-choice-indicator:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--pl-teal)}
.placement-input{width:100%;min-height:48px;border-radius:15px;border:1px solid #eee5d9;background:#fff;padding:0 12px;font-size:.9rem;direction:ltr;text-align:left;font-family:inherit}
.placement-input:focus{outline:0;border-color:var(--pl-teal);box-shadow:0 0 0 3px rgba(0,159,156,.08)}
.placement-nav{position:sticky;bottom:8px;z-index:9;display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border:1px solid var(--pl-line);border-radius:19px;box-shadow:0 -6px 18px rgba(16,31,79,.055);padding:8px}
.placement-nav button{height:43px;border:0;border-radius:14px;padding:0 13px;font-size:.86rem;font-weight:950;cursor:pointer;min-width:70px}
.placement-nav .secondary{background:#f4f6fa;color:var(--pl-navy)}
.placement-nav .primary{flex:1;background:linear-gradient(180deg,var(--pl-teal-2),#008f91);color:#fff;min-width:0}
.placement-nav .submit{display:none;flex:0 0 auto;min-width:104px;height:37px;min-height:37px;border:1px solid #f0d9a8;background:#fff8e8;color:#94651d;box-shadow:none;font-size:.76rem;padding:0 11px}
.placement-nav .submit:active{transform:translateY(1px)}

/* Result */
.pl-result-hero,.pl-path-hero{display:grid;grid-template-columns:118px minmax(0,1fr);gap:9px;align-items:center;padding:5px 2px 0}
.pl-result-hero img,.pl-path-hero img{width:116px;height:88px;object-fit:contain;justify-self:center}
.pl-result-hero h1,.pl-path-hero h1{margin:0;color:var(--pl-navy);font-size:1.32rem;line-height:1.42;font-weight:950;letter-spacing:-.02em}
.pl-result-hero p,.pl-path-hero p{margin:4px 0 0;color:var(--pl-muted);font-size:.78rem;line-height:1.65;font-weight:650}
.pl-path-hero p strong{color:var(--pl-teal);font-weight:950}
.pl-level-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:11px;align-items:center;padding:11px;background:linear-gradient(180deg,#fff,#fffdf8)}
.pl-level-badge{width:94px;height:94px;border-radius:26px;background:linear-gradient(180deg,#12b7b4,#087d83);box-shadow:inset 0 0 0 4px rgba(255,255,255,.18),0 10px 20px rgba(0,159,156,.14);display:grid;place-items:center;text-align:center;color:#fff;line-height:1.03;clip-path:polygon(50% 0%,92% 16%,92% 74%,50% 100%,8% 74%,8% 16%)}
.pl-level-badge strong,.pl-level-badge b{font-size:1.46rem;font-weight:950}
.pl-level-badge span{font-size:.7rem;font-weight:900}
.pl-level-copy small{display:inline-flex;height:23px;align-items:center;padding:0 8px;border-radius:999px;background:#fff7e8;color:#9b6b24;font-size:.68rem;font-weight:900}
.pl-level-copy h2{margin:5px 0 3px;color:var(--pl-navy);font-size:1.46rem;line-height:1.2;font-weight:950;letter-spacing:-.01em}
.pl-level-copy h2 em{font-style:normal;color:var(--pl-teal)}
.pl-level-copy h2 strong{color:var(--pl-coral);font-weight:950}
.pl-level-copy p{margin:0;color:var(--pl-muted);font-size:.76rem;line-height:1.6;font-weight:600}
.pl-skill-panel{padding:12px 13px;display:grid;gap:9px}
.pl-skill-panel h2{margin:0;color:var(--pl-navy);font-size:.99rem;font-weight:950}
.pl-skill-list{display:grid;gap:8px}
.pl-skill-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center}
.pl-skill-level{min-height:30px;border-radius:10px;background:#eef8f7;color:#087f7f;font-size:.8rem;font-weight:950;display:grid;place-items:center}
.pl-skill-main{display:grid;gap:5px}
.pl-skill-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pl-skill-title-row strong{font-size:.86rem;color:var(--pl-navy);font-weight:900}
.pl-skill-title-row small{font-size:.72rem;color:var(--pl-muted);font-weight:900}
.placement-skill-track{height:7px;border-radius:999px;background:#f0eee9;overflow:hidden}
.placement-skill-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#008f91,var(--pl-teal-2))}
.pl-insight-card{padding:11px 13px;color:#253154;background:#fffdfa;font-size:.83rem;line-height:1.8;text-align:center;font-weight:650}
.pl-insight-card strong,.pl-insight-card em{color:var(--pl-teal);font-style:normal}
.pl-goal-section{padding:11px;display:grid;gap:10px;background:linear-gradient(180deg,#fff,#fffdf8)}
.pl-goal-header{display:grid;grid-template-columns:82px minmax(0,1fr);gap:9px;align-items:center;padding-bottom:8px;border-bottom:1px solid #f0e9de}
.pl-goal-header img{width:82px;height:78px;object-fit:contain}
.pl-goal-header h2{margin:0;color:var(--pl-navy);font-size:1.18rem;line-height:1.35;font-weight:950}
.pl-goal-header p{margin:3px 0 0;color:var(--pl-muted);font-size:.74rem;line-height:1.6;font-weight:600}
.placement-goal-form{display:grid;gap:10px}
.pl-goals-stack{display:grid;gap:7px}
.pl-goal-choice{display:block;position:relative;cursor:pointer}
.pl-goal-choice input{position:absolute;opacity:0;pointer-events:none}
.pl-goal-choice>span{min-height:54px;display:grid;grid-template-columns:20px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;row-gap:1px;align-items:center;border:1px solid #eee5d9;border-radius:16px;background:#fff;padding:8px 10px;transition:.15s ease}
.pl-goal-choice i{grid-row:1 / span 2;grid-column:1;width:19px;height:19px;border-radius:50%;border:2px solid #d5d1ca;position:relative;align-self:center}
.pl-goal-choice strong{grid-column:2;display:block;color:var(--pl-navy);font-size:.86rem;line-height:1.4;font-weight:950}
.pl-goal-choice small{grid-column:2;display:block;color:var(--pl-muted);font-size:.68rem;line-height:1.45;margin-top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.pl-goal-choice input:checked+span{border-color:var(--pl-teal);background:#f7fffe;box-shadow:0 0 0 3px rgba(0,159,156,.075)}
.pl-goal-choice input:checked+span i{border-color:var(--pl-teal);background:rgba(0,159,156,.12)}
.pl-goal-choice input:checked+span i:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--pl-teal)}

/* Path */
.pl-path-summary{display:grid;grid-template-columns:86px minmax(0,1fr);gap:9px;align-items:center;padding:11px;background:linear-gradient(180deg,#f8ffff,#fff)}
.pl-progress-mini{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;text-align:center;background:conic-gradient(var(--pl-teal) var(--progress, 0%),#eaf0ef 0);position:relative;color:var(--pl-teal)}
.pl-progress-mini:before{content:"";position:absolute;inset:8px;background:#fff;border-radius:inherit}
.pl-progress-mini strong,.pl-progress-mini span{position:relative;z-index:1;display:block}
.pl-progress-mini strong{font-size:1.16rem;line-height:1;font-weight:950}.pl-progress-mini span{font-size:.66rem;color:var(--pl-muted);font-weight:700}
.pl-path-stats{display:grid;grid-template-columns:1fr;gap:6px}
.pl-path-stats span{min-height:28px;border-radius:10px;background:#fff;border:1px solid #e8f0ef;color:var(--pl-muted);display:flex;align-items:center;justify-content:space-between;padding:0 9px;font-size:.72rem;font-weight:800}
.pl-path-stats b{color:var(--pl-navy);font-size:.82rem}
.pl-step-panel{padding:10px}.pl-step-list{display:grid;gap:7px}
.pl-step-card{display:grid;grid-template-columns:20px minmax(0,1fr) 26px;gap:8px;align-items:start;position:relative;padding:9px;border-radius:16px;border:1px solid #eee5d9;background:#fff}
.pl-step-card.is-active{border-color:var(--pl-teal);box-shadow:0 0 0 3px rgba(0,159,156,.075)}
.pl-step-card.is-completed{background:#f7fffe;border-color:#bfe5df}
.pl-step-status{width:18px;height:18px;border-radius:50%;border:2px solid #d5d1ca;margin-top:4px;position:relative}
.pl-step-status.is-checked,.pl-step-card.is-completed .pl-step-status{background:var(--pl-teal);border-color:var(--pl-teal)}
.pl-step-status.is-checked:after,.pl-step-card.is-completed .pl-step-status:after{content:"";position:absolute;inset:3px 4px 4px 3px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.pl-step-body{display:grid;gap:3px}.pl-step-main-line{display:flex;gap:7px;align-items:flex-start;justify-content:space-between}.pl-step-main-line strong{color:var(--pl-navy);font-size:.84rem;line-height:1.5;font-weight:900}.pl-step-main-line span{flex:0 0 auto;min-height:22px;padding:0 7px;border-radius:999px;background:#e9f8ef;color:#2f8d56;font-size:.66rem;font-weight:900;display:inline-flex;align-items:center}.pl-step-main-line .optional{background:#fff3e6;color:#c46f21}.pl-step-body small{color:var(--pl-muted);font-size:.68rem;line-height:1.45;font-weight:600}.pl-step-order{width:26px;height:26px;border-radius:50%;background:var(--pl-teal);color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:950}.pl-step-actions{grid-column:2/-1;display:flex;gap:6px;flex-wrap:wrap}.pl-step-actions a,.pl-step-actions button{min-height:30px;border-radius:10px;border:1px solid #bdd8e3;background:#fff;color:#087f7f;text-decoration:none;padding:0 10px;font-size:.72rem;font-weight:900;cursor:pointer}.pl-step-actions .done{background:linear-gradient(180deg,var(--pl-teal-2),#008f91);border-color:transparent;color:#fff}
@media (max-width:360px){.placement-shell{padding-inline:8px}.pl-intro-hero h1{font-size:1.36rem}.pl-result-hero,.pl-path-hero{grid-template-columns:104px minmax(0,1fr)}.pl-result-hero img,.pl-path-hero img{width:104px;height:82px}.pl-level-card{grid-template-columns:86px minmax(0,1fr)}.pl-level-badge{width:84px;height:84px}.pl-level-badge strong,.pl-level-badge b{font-size:1.28rem}.pl-level-copy h2{font-size:1.3rem}.pl-goal-header{grid-template-columns:74px minmax(0,1fr)}.pl-goal-header img{width:74px}.pl-skill-chips{gap:5px}.pl-skill-chips span{font-size:.66rem;padding-inline:4px}}

/* v9: paper-like background + tighter reference-style layout */
html:has(.placement-shell),
body:has(.placement-shell){
  background:#FCF8F1 !important;
}
body:has(.placement-shell){
  background:
    radial-gradient(circle at 50% 0%, rgba(242,200,105,.18) 0, transparent 260px),
    radial-gradient(circle at 0% 22%, rgba(255,143,112,.055) 0, transparent 180px),
    linear-gradient(180deg,#FFFDF7 0%, #FCF8F1 62%, #FBF6ED 100%) !important;
}
body:has(.placement-shell) .page-shell{
  background:transparent !important;
}
body:has(.placement-shell) .container{
  width:min(430px, calc(100% - 20px));
  padding-top:10px;
}
body:has(.placement-shell) .topbar{
  background:rgba(255,253,248,.88) !important;
  border-bottom:1px solid rgba(239,228,214,.75) !important;
  box-shadow:none !important;
}
.placement-shell{
  --pl-bg:#FCF8F1;
  --pl-surface:#FFFDF8;
  --pl-card:#FFFFFF;
  --pl-navy:#101F4F;
  --pl-muted:#697184;
  width:min(100%,398px);
  padding:0 6px 18px;
  gap:9px;
  font-family:"Vazirmatn","Estedad","Dana","IRANSansX","IRANSans","Shabnam",Tahoma,Arial,sans-serif;
  font-size:13.5px;
}
.pl-card{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,253,248,.98));
  border-color:#EFE4D6;
  border-radius:22px;
  box-shadow:0 9px 24px rgba(17,31,79,.045);
}
.pl-btn{
  height:47px;
  min-height:47px;
  border-radius:19px;
  font-size:.91rem;
  letter-spacing:-.01em;
  padding-top:1px;
}
.pl-btn-primary{box-shadow:0 10px 19px rgba(0,159,156,.18), inset 0 1px 0 rgba(255,255,255,.22)}

/* Intro: closer to reference 1 */
.pl-intro-hero{gap:7px;padding-top:0}
.pl-intro-owl{max-width:332px;border-radius:20px;margin-bottom:-7px}
.pl-intro-hero h1{
  font-size:1.34rem;
  line-height:1.58;
  max-width:318px;
  letter-spacing:-.025em;
}
.pl-intro-hero p{font-size:.80rem;line-height:1.55;margin-top:-2px}
.pl-skill-chips{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:5px;
  margin-top:1px;
}
.pl-skill-chips span{
  height:29px;
  padding:0 5px;
  gap:3px;
  flex-direction:row !important;
  justify-content:center !important;
  font-size:.68rem;
  border-radius:12px;
}
.pl-skill-chips span b,
.pl-skill-chips span em{
  display:inline-flex;
  align-items:center;
  font-style:normal;
  line-height:1;
  white-space:nowrap;
}
.pl-skill-chips span b{font-size:.84rem;transform:translateY(1px)}
.pl-result-preview{padding:11px;gap:8px;border-radius:22px}
.pl-result-preview h2{font-size:.91rem;line-height:1.42}
.pl-result-preview article{
  grid-template-columns:60px minmax(0,1fr);
  min-height:66px;
  padding:8px 9px;
  border-radius:16px;
}
.pl-result-preview img{width:58px;height:38px}
.pl-result-preview strong{font-size:.86rem;line-height:1.35}
.pl-result-preview small{font-size:.68rem;line-height:1.4}

/* Test screen: compact and balanced */
.pl-test-header{padding:8px 10px;border-radius:18px;background:rgba(255,253,248,.95)}
.pl-test-title h1{font-size:.98rem;line-height:1.34}
.pl-test-title span{font-size:.72rem}
.pl-close-btn{width:34px;height:34px;border-radius:12px}
.placement-question{padding:10px;gap:8px;border-radius:20px}
.pl-question-meta span{
  min-height:26px;
  gap:4px;
  padding:0 8px;
  font-size:.70rem;
  border-radius:999px;
}
.pl-question-meta span em,
.pl-question-meta span b{font-style:normal;display:inline-flex;align-items:center;line-height:1;white-space:nowrap}
.pl-question-meta .pl-emoji{font-size:.82rem;transform:translateY(1px)}
.pl-media-stage{padding:6px;border-radius:16px}
.pl-media-stage video,.pl-media-stage audio{border-radius:12px}
.pl-question-title{font-size:.93rem;line-height:1.72;margin-top:0}
.pl-choice-card{
  min-height:48px;
  padding:8px 10px;
  border-radius:15px;
  grid-template-columns:20px minmax(0,1fr);
}
.pl-choice-copy{font-size:.84rem;line-height:1.52}
.pl-choice-indicator{width:18px;height:18px}
.placement-nav{border-radius:18px;background:rgba(255,253,248,.95);padding:7px}
.placement-nav button{height:43px;min-height:43px;border-radius:13px;font-size:.84rem;padding-top:1px}
.placement-nav .submit{height:37px;min-height:37px;font-size:.75rem;border-radius:12px}

/* Result screen: lighter hierarchy, consistent Persian scale */
.pl-result-hero,.pl-path-hero{
  grid-template-columns:104px minmax(0,1fr);
  gap:8px;
  padding:3px 1px 0;
}
.pl-result-hero img,.pl-path-hero img{width:104px;height:80px}
.pl-result-hero h1,.pl-path-hero h1{
  font-size:1.12rem;
  line-height:1.52;
  letter-spacing:-.018em;
}
.pl-result-hero p,.pl-path-hero p{font-size:.72rem;line-height:1.55;margin-top:2px}
.pl-level-card{
  grid-template-columns:88px minmax(0,1fr);
  gap:10px;
  padding:10px;
  border-radius:22px;
}
.pl-level-badge{width:86px;height:86px;border-radius:24px}
.pl-level-badge strong,.pl-level-badge b{font-size:1.28rem}.pl-level-badge span{font-size:.66rem}
.pl-level-copy small{height:22px;font-size:.64rem;padding:0 7px}
.pl-level-copy h2{font-size:1.25rem;line-height:1.24;margin:4px 0 2px}
.pl-level-copy p{font-size:.70rem;line-height:1.52}
.pl-skill-panel{padding:11px 12px;gap:8px}
.pl-skill-panel h2{font-size:.91rem}
.pl-skill-list{gap:7px}
.pl-skill-row{grid-template-columns:38px minmax(0,1fr);gap:8px}
.pl-skill-level{min-height:28px;border-radius:10px;font-size:.74rem}
.pl-skill-title-row strong{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:.80rem;
  line-height:1.25;
  white-space:nowrap;
}
.pl-skill-title-row .pl-emoji{font-size:.9rem;line-height:1;transform:translateY(1px)}
.pl-skill-title-row small{font-size:.68rem}
.placement-skill-track{height:6px}
.pl-insight-card{padding:10px 12px;font-size:.77rem;line-height:1.75}

/* Goal cards: emoji + title in one line, no vertical icon stack */
.pl-goal-section{padding:10px;gap:9px;border-radius:22px}
.pl-goal-header{grid-template-columns:74px minmax(0,1fr);gap:8px;padding-bottom:7px}
.pl-goal-header img{width:74px;height:70px}
.pl-goal-header h2{font-size:1.03rem;line-height:1.35}
.pl-goal-header p{font-size:.69rem;line-height:1.5}
.pl-goals-stack{gap:7px}
.pl-goal-choice>span{
  min-height:50px;
  grid-template-columns:18px minmax(0,1fr);
  padding:7px 9px;
  border-radius:15px;
  column-gap:8px;
}
.pl-goal-choice i{width:18px;height:18px}
.pl-goal-choice strong{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  font-size:.80rem;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pl-goal-choice strong .pl-emoji{font-size:.92rem;line-height:1;flex:0 0 auto;transform:translateY(1px)}
.pl-goal-choice strong span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
.pl-goal-choice small{font-size:.64rem;line-height:1.35;margin-top:1px}

/* Path cards: compact like reference 5 */
.pl-path-summary{grid-template-columns:78px minmax(0,1fr);gap:8px;padding:10px;border-radius:22px}
.pl-progress-mini{width:74px;height:74px}.pl-progress-mini:before{inset:7px}.pl-progress-mini strong{font-size:1.05rem}.pl-progress-mini span{font-size:.62rem}
.pl-path-stats{gap:5px}.pl-path-stats span{min-height:26px;font-size:.67rem;border-radius:9px}.pl-path-stats b{font-size:.76rem}
.pl-step-panel{padding:9px;border-radius:22px}.pl-step-list{gap:7px}
.pl-step-card{padding:8px;border-radius:15px;grid-template-columns:18px minmax(0,1fr) 24px;gap:7px}
.pl-step-status{width:17px;height:17px;margin-top:4px}.pl-step-order{width:24px;height:24px;font-size:.68rem}
.pl-step-main-line strong{font-size:.78rem;line-height:1.48}.pl-step-main-line span{min-height:21px;font-size:.62rem;padding:0 6px}
.pl-step-body small{font-size:.63rem}.pl-step-actions a,.pl-step-actions button{min-height:29px;font-size:.68rem;padding:0 9px}

@media (max-width:360px){
  .placement-shell{width:min(100%,390px);padding-inline:4px;font-size:13px}
  .pl-intro-hero h1{font-size:1.22rem}
  .pl-skill-chips span{font-size:.62rem;padding-inline:3px}.pl-skill-chips span b{font-size:.78rem}
}

/* v11 flow additions: result -> goal -> multiple paths */
.pl-bottom-actions .pl-btn{width:100%}
.pl-inline-note{margin:0;color:var(--pl-muted);font-size:.76rem;line-height:1.7;text-align:center;font-weight:700;background:#fffaf1;border:1px solid #f0e3ce;border-radius:15px;padding:8px 10px}.pl-inline-note strong{color:var(--pl-teal);font-weight:950}.placement-screen-goal .pl-goal-header{border-bottom:0;padding-bottom:2px}.placement-screen-goal .pl-goal-header h1{margin:0;color:var(--pl-navy);font-size:1.18rem;line-height:1.35;font-weight:950}.placement-screen-goal .pl-goal-header h1 em{font-style:normal;color:var(--pl-teal)}.pl-path-picker{padding:11px}.pl-path-picker-list{display:grid;gap:8px}.pl-path-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #eee5d9;border-radius:16px;background:#fff;padding:10px}.pl-path-choice.is-completed{background:#fffdf7}.pl-path-choice-main{display:grid;gap:5px;min-width:0}.pl-path-choice-main strong{color:var(--pl-navy);font-size:.88rem;line-height:1.45;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-path-choice-main small{color:var(--pl-muted);font-size:.72rem;font-weight:800}.member-path-progress{height:7px;border-radius:999px;background:#f0eee9;overflow:hidden}.member-path-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#008f91,var(--pl-teal-2))}.pl-path-choice>a{min-height:34px;border-radius:12px;background:linear-gradient(180deg,var(--pl-teal-2),#008f91);color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;font-size:.78rem;font-weight:950}.pl-complete-hero{display:grid;justify-items:center;text-align:center;gap:8px;padding:10px 4px 4px}.pl-complete-hero img{width:min(260px,100%);border-radius:24px}.pl-complete-hero h1{margin:0;color:var(--pl-navy);font-size:1.24rem;line-height:1.65;font-weight:950;letter-spacing:-.02em}.pl-complete-hero h1 em{font-style:normal;color:var(--pl-teal)}.pl-complete-hero p{margin:0;max-width:22rem;color:var(--pl-muted);font-size:.82rem;line-height:1.85;font-weight:650}.placement-screen-result .pl-bottom-actions{margin-top:2px}.placement-screen-result .pl-btn-secondary{background:#fffefa}

/* v12: final UX fixes */
.pl-toast{
  position:sticky;
  top:8px;
  z-index:20;
  margin-bottom:2px;
  border:1px solid rgba(0,159,156,.18);
  border-radius:16px;
  background:rgba(255,255,255,.96);
  color:var(--pl-navy);
  box-shadow:0 10px 26px rgba(16,31,79,.08);
  padding:10px 12px;
  font-size:.8rem;
  line-height:1.8;
  font-weight:800;
  text-align:right;
  animation:plToastAutoHide 5.2s ease forwards;
}
.pl-toast:before{
  content:"💡";
  margin-left:6px;
}
@keyframes plToastAutoHide{
  0%,78%{opacity:1;transform:translateY(0);max-height:110px;margin-bottom:2px;padding-top:10px;padding-bottom:10px}
  100%{opacity:0;transform:translateY(-8px);max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-width:0;overflow:hidden;pointer-events:none}
}
.pl-guest-save-card{
  display:grid;
  gap:4px;
  padding:12px 13px;
  background:linear-gradient(180deg,#fffdf8,#fff);
  text-align:right;
}
.pl-guest-save-card strong{
  color:var(--pl-navy);
  font-size:.92rem;
  font-weight:950;
  line-height:1.6;
}
.pl-guest-save-card strong:before{
  content:"🔐";
  margin-left:6px;
}
.pl-guest-save-card p{
  margin:0;
  color:var(--pl-muted);
  font-size:.76rem;
  line-height:1.75;
  font-weight:650;
}

/* v13: guest path signup emphasis + retake via intro */
.pl-guest-sticky-cta{
  position:sticky;
  bottom:calc(78px + env(safe-area-inset-bottom, 0px));
  z-index:30;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:8px 10px;
  align-items:center;
  padding:10px 11px;
  border-color:rgba(0,159,156,.22);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,253,248,.98));
  box-shadow:0 -6px 20px rgba(16,31,79,.08), 0 9px 24px rgba(17,31,79,.045);
  backdrop-filter:blur(12px);
}
.pl-guest-sticky-cta .pl-guest-save-art{
  width:58px;
  height:42px;
  object-fit:contain;
  justify-self:center;
  grid-row:1 / span 2;
}
.pl-guest-save-copy{display:grid;gap:1px;min-width:0}
.pl-guest-save-copy strong{
  font-size:.84rem;
  line-height:1.55;
  color:var(--pl-navy);
  font-weight:950;
  letter-spacing:-.01em;
}
.pl-guest-save-copy strong:before{content:none}
.pl-guest-save-copy p{
  font-size:.70rem;
  line-height:1.6;
  color:var(--pl-muted);
  margin:0;
  font-weight:700;
}
.pl-guest-save-actions{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(88px,.46fr);
  gap:7px;
}
.pl-mini-primary,.pl-mini-secondary{
  min-height:38px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  font-family:inherit;
  font-size:.78rem;
  line-height:1;
  font-weight:950;
  padding:0 10px;
  white-space:nowrap;
}
.pl-mini-primary{color:#fff;background:linear-gradient(180deg,var(--pl-teal-2),#008f91);box-shadow:0 8px 17px rgba(0,159,156,.16)}
.pl-mini-secondary{color:var(--pl-navy);background:#fff;border:1px solid #cfd8e6}
.pl-guest-sticky-spacer{height:12px}
@media (max-width:360px){
  .pl-guest-sticky-cta{grid-template-columns:50px minmax(0,1fr);padding:9px 10px;bottom:calc(74px + env(safe-area-inset-bottom, 0px))}
  .pl-guest-sticky-cta .pl-guest-save-art{width:50px;height:38px}
  .pl-guest-save-copy strong{font-size:.78rem}
  .pl-guest-save-copy p{font-size:.66rem}
  .pl-mini-primary,.pl-mini-secondary{font-size:.72rem;min-height:36px}
}

/* v14: guest preview steps can show a start action that points to signup CTA */
.pl-guest-step-actions{
  grid-column:2 / -1;
  display:flex;
  justify-content:flex-start;
  margin-top:1px;
}
.pl-guest-step-start{
  min-height:30px;
  padding:0 12px;
  border-radius:11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background:linear-gradient(180deg,var(--pl-teal-2),#008f91);
  color:#fff;
  font-size:.72rem;
  line-height:1;
  font-weight:950;
  box-shadow:0 7px 14px rgba(0,159,156,.14);
}
#guest-membership-required{
  scroll-margin-top:14px;
}

/* v15: guest start feedback modal toast */
.pl-guest-start-toast{
  position:fixed;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%) scale(.96);
  z-index:9999;
  width:min(310px, calc(100vw - 42px));
  min-height:112px;
  border-radius:24px;
  border:1px solid rgba(0,159,156,.20);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,253,248,.98));
  box-shadow:0 24px 70px rgba(16,31,79,.22), 0 0 0 999px rgba(16,31,79,.22);
  display:grid;
  place-items:center;
  gap:10px;
  padding:18px 16px;
  opacity:0;
  pointer-events:none;
  text-align:center;
  direction:rtl;
}
.pl-guest-start-toast:before{
  content:"🔐";
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#eef8f7;
  border:1px solid rgba(0,159,156,.12);
  font-size:1.15rem;
}
.pl-guest-start-toast strong{
  color:var(--pl-navy);
  font-size:.92rem;
  line-height:1.7;
  font-weight:950;
}
.pl-guest-start-toast a{
  min-height:38px;
  padding:0 16px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,var(--pl-teal-2),#008f91);
  color:#fff;
  text-decoration:none;
  font-size:.78rem;
  font-weight:950;
  box-shadow:0 8px 17px rgba(0,159,156,.18);
}
.pl-guest-start-toast.is-visible{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
  pointer-events:auto;
  animation:plGuestToastPulse 3.8s ease forwards;
}
@keyframes plGuestToastPulse{
  0%{opacity:0;transform:translate(-50%,-45%) scale(.96)}
  10%,82%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  100%{opacity:0;transform:translate(-50%,-53%) scale(.98)}
}

/* v16: speaking recorder inside placement test */
.placement-recorder{
  display:grid;
  gap:9px;
  padding:11px;
  border-radius:17px;
  border:1px solid rgba(0,159,156,.16);
  background:linear-gradient(180deg,#f8fffe,#fffdf8);
}
.placement-recorder-copy{display:grid;gap:3px;text-align:center}
.placement-recorder-copy strong{color:var(--pl-navy);font-size:.86rem;font-weight:950}
.placement-recorder-copy span{color:var(--pl-muted);font-size:.72rem;line-height:1.6;font-weight:700}
.placement-recorder-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.placement-recorder-btn{
  min-height:36px;
  border-radius:13px;
  border:1px solid #dbe8e6;
  background:#fff;
  color:#087f7f;
  font-family:inherit;
  font-size:.70rem;
  font-weight:950;
  cursor:pointer;
  padding:0 7px;
}
.placement-recorder-btn.is-record{background:linear-gradient(180deg,#18b8b5,#008f91);border-color:transparent;color:#fff}
.placement-recorder-btn[disabled]{opacity:.55;cursor:not-allowed;filter:grayscale(.18)}
.placement-recorder.is-recording{box-shadow:0 0 0 3px rgba(244,126,104,.10);border-color:rgba(244,126,104,.34)}
.placement-recorder.is-recording .placement-recorder-btn.is-record{background:#fff;color:#9f493c;border-color:#f1c7bd}
.placement-recorder audio{width:100%;height:36px}
.placement-recorder-status{margin:0;text-align:center;color:var(--pl-muted);font-size:.70rem;line-height:1.55;font-weight:760}

/* Course focus from learning path */
.lesson-item-card.is-path-focus{
  border-color:rgba(0,159,156,.55) !important;
  box-shadow:0 0 0 4px rgba(0,159,156,.11), 0 16px 34px rgba(17,31,79,.09) !important;
  animation:zabanisaPathFocusPulse 1.25s ease-in-out 0s 2;
}
.lesson-item-card.is-path-focus .lesson-entry-btn{
  box-shadow:0 0 0 4px rgba(0,159,156,.12);
}
@keyframes zabanisaPathFocusPulse{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}

/* v17: goal header h1 support */
.pl-goal-header h1{margin:0;color:var(--pl-navy);font-size:1.18rem;line-height:1.35;font-weight:950}
.pl-goal-header h1 em{font-style:normal;color:var(--pl-teal);font-weight:950}

/* Learning path direct action forms */
.pl-step-direct-form,
.pl-bottom-step-form{margin:0;display:inline-flex}.pl-step-direct-form button{font-family:inherit}.pl-bottom-step-form{width:100%}.pl-bottom-step-form .pl-btn{width:100%;border:0;font-family:inherit;cursor:pointer}

/* v20: path list compact toolbar, stronger continue CTA, and safe delete action */
.placement-screen-path-list .pl-path-list-toolbar{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:2px 0 10px;
}
.placement-screen-path-list .pl-path-toolbar-btn{
  min-height:36px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  text-decoration:none;
  font-size:.74rem;
  line-height:1.35;
  font-weight:950;
  border:1px solid #d9e9e8;
  box-shadow:0 6px 14px rgba(17,31,79,.05);
}
.placement-screen-path-list .pl-path-toolbar-primary{
  background:#f3fffe;
  color:#087f7f;
  border-color:#cdebea;
}
.placement-screen-path-list .pl-path-toolbar-secondary{
  background:#fffdf8;
  color:#7c6244;
  border-color:#eee2d1;
}
.placement-screen-path-list .pl-path-picker{padding:10px}
.placement-screen-path-list .pl-path-choice{
  grid-template-columns:minmax(0,1fr);
  gap:9px;
  align-items:stretch;
}
.placement-screen-path-list .pl-path-choice-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
}
.placement-screen-path-list .pl-path-choice-actions .pl-path-continue-btn{
  min-height:42px;
  border-radius:14px;
  background:linear-gradient(180deg,var(--pl-teal-2),#008f91);
  color:#fff;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  font-size:.84rem;
  font-weight:950;
  box-shadow:0 10px 20px rgba(0,159,156,.18);
}
.placement-screen-path-list .pl-path-delete-form{margin:0;display:inline-flex}
.placement-screen-path-list .pl-path-delete-btn{
  min-height:34px;
  border-radius:12px;
  border:1px solid #f0d4cf;
  background:#fff8f6;
  color:#b65345;
  font-family:inherit;
  font-size:.70rem;
  font-weight:900;
  padding:0 10px;
  cursor:pointer;
}
.placement-screen-path-list .pl-path-choice.is-completed .pl-path-choice-actions .pl-path-continue-btn{
  background:linear-gradient(180deg,#ffba65,#f19632);
  box-shadow:0 10px 20px rgba(241,150,50,.14);
}
@media (max-width:360px){
  .placement-screen-path-list .pl-path-list-toolbar{gap:6px}
  .placement-screen-path-list .pl-path-toolbar-btn{min-height:34px;font-size:.68rem;padding-inline:7px}
  .placement-screen-path-list .pl-path-choice-actions{grid-template-columns:minmax(0,1fr) 54px;gap:6px}
  .placement-screen-path-list .pl-path-choice-actions .pl-path-continue-btn{min-height:40px;font-size:.78rem;padding-inline:10px}
  .placement-screen-path-list .pl-path-delete-btn{min-height:32px;font-size:.66rem;padding-inline:8px}
}
