/* puan-hesaplama.css
   YKS Puan Hesaplama — SincApp public sitesine gömülü sürüm.
   Orijinal "YKS Puan Hesaplama.html" <style> bloğundan türetildi; tüm kurallar
   .puan-page sarmalayıcısı altına scope'landı ki sitenin _Layout/Bootstrap
   stilleriyle çakışmasın (özellikle .card, .card-body, .card-title gibi
   Bootstrap'le ortak sınıf adları). */

:root{
  --primary:#5b21b6; --primary-2:#f97316;
  /* Sayfa üstündeki gradient hero ile uyumlu: mor → indigo → mavi (turuncu kaldırıldı). */
  --head-grad:linear-gradient(100deg,#7c3aed,#4f46e5 50%,#2563eb);
  --radius:16px; --dens:1;

  --c-tyt:#7c3aed; --c-say:#2563eb; --c-ea:#0d9488; --c-soz:#f97316; --c-dil:#db2777;

  --bg:#f4f1fb;
  --card:#ffffff; --ink:#241a3a; --ink-soft:#6b6280; --line:#ece7f5;
  --field:#f6f3fc; --field-line:#e4dcf2;
  --shadow:0 1px 2px rgba(60,30,110,.05), 0 12px 30px -16px rgba(76,29,149,.28);
  --shadow-sm:0 1px 2px rgba(60,30,110,.06);
}

/* ---------- Sarmalayıcı ----------
   Ayrı arka plan kaldırıldı: hesaplayıcı sitenin kendi (beyaz) zeminini kullanır.
   zoom ile her şey (font + boşluk + alanlar) uniform biçimde site ölçeğine yaklaştırılır. */
.puan-page{
  color:var(--ink);
  font-family:"Plus Jakarta Sans",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"ss01";
  zoom:1.06;
}
.puan-page,
.puan-page *{box-sizing:border-box;}

.puan-page .net-pill,
.puan-page .sc-big-num,
.puan-page .sc-stat-val,
.puan-page .rtable td,
.puan-page .netsum-val{font-variant-numeric:tabular-nums;}

/* ---------- Layout ---------- */
.puan-page .wrap{max-width:760px;margin:0 auto;padding:clamp(20px,4vw,38px) clamp(16px,4vw,24px) 90px;
  display:flex;flex-direction:column;gap:calc(18px*var(--dens));}
.puan-page .intro{margin:6px 2px 4px;}
.puan-page .intro h1{font-size:clamp(26px,4.5vw,38px);line-height:1.12;margin:0 0 10px;font-weight:800;
  letter-spacing:-.6px;text-wrap:balance;}
.puan-page .intro h1 span{background:var(--head-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.puan-page .intro p{margin:0;color:var(--ink-soft);font-size:16px;line-height:1.55;white-space:nowrap;}
@media (max-width:760px){.puan-page .intro p{white-space:normal;max-width:54ch;}}

/* ---------- Card ---------- */
.puan-page .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;display:block;}
.puan-page .card-head{
  --accent:var(--primary);
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:calc(16px*var(--dens)) calc(20px*var(--dens));
  background:linear-gradient(0deg,rgba(124,58,237,.03),rgba(124,58,237,.03)),var(--card);
  border-bottom:1px solid var(--line);position:relative;}
.puan-page .card-head::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);}
.puan-page .card-head[role=button]{cursor:pointer;}
.puan-page .card-head-main{display:flex;align-items:center;gap:14px;}
.puan-page .card-icon{display:inline-flex;}
.puan-page .card-title{margin:0;font-size:clamp(16px,2.2vw,19px);font-weight:800;letter-spacing:-.3px;line-height:1.22;}
.puan-page .card-sub{margin:3px 0 0;font-size:13.5px;color:var(--ink-soft);font-weight:500;}
.puan-page .caret{font-size:22px;color:var(--ink-soft);transition:transform .22s ease;line-height:1;}
.puan-page .caret-open{transform:rotate(180deg);}
.puan-page .card-body{padding:calc(10px*var(--dens)) calc(20px*var(--dens)) calc(18px*var(--dens));}

/* açılır-kapanır çekmece (hızlı, yumuşak) */
.puan-page .card-collapse{display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .26s cubic-bezier(.4,0,.2,1);}
.puan-page .card-collapse.open{grid-template-rows:1fr;}
.puan-page .card-collapse-inner{overflow:hidden;min-height:0;}
@media(prefers-reduced-motion:reduce){
  .puan-page .card-collapse{transition:none;}
}

/* ---------- Subject rows ---------- */
.puan-page .subj-header{display:flex;align-items:center;justify-content:space-between;
  padding:10px 2px 4px;}
.puan-page .subj-header.sub{padding-top:4px;}
.puan-page .subj-fields{display:grid;grid-template-columns:84px 84px 72px;gap:10px;}
.puan-page .subj-fields.head span{font-size:12px;font-weight:700;color:var(--ink-soft);text-align:center;
  text-transform:uppercase;letter-spacing:.4px;}
.puan-page .subj-row{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:calc(9px*var(--dens)) 2px;border-top:1px solid var(--line);}
.puan-page .subj-label{display:flex;flex-direction:column;gap:1px;min-width:0;}
.puan-page .subj-name{font-weight:700;font-size:15.5px;letter-spacing:-.2px;}
.puan-page .subj-q{font-size:12px;color:var(--ink-soft);font-weight:600;}
.puan-page .subj-fields .field{min-width:0;}
.puan-page .ans-input{
  width:100%;min-width:0;height:46px;border:1.5px solid;border-radius:12px;
  text-align:center;font-size:18px;font-weight:700;
  font-variant-numeric:tabular-nums;outline:none;transition:.15s;font-family:inherit;}
.puan-page .ans-dogru{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.38);color:#0f766e;}
.puan-page .ans-dogru:focus{background:rgba(16,185,129,.2);border-color:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.16);}
.puan-page .ans-yanlis{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.34);color:#b91c1c;}
.puan-page .ans-yanlis:focus{background:rgba(239,68,68,.18);border-color:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.15);}
.puan-page .net-pill{height:46px;display:grid;place-items:center;border-radius:12px;
  background:rgba(37,99,235,.10);color:#9fb0dd;font-weight:800;font-size:17px;border:1.5px solid rgba(37,99,235,.26);}
.puan-page .net-pill.net-on{background:rgba(37,99,235,.15);color:#2563eb;border-color:rgba(37,99,235,.42);}

/* ---------- Type chips ---------- */
.puan-page .type-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:8px 0 2px;}
.puan-page .chip{
  display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-family:inherit;
  border:1.5px solid var(--field-line);background:var(--field);color:var(--ink);
  border-radius:13px;padding:11px 14px;font-weight:700;font-size:14px;transition:.16s;}
.puan-page .chip:hover{border-color:#cdbef0;}
.puan-page .chip-on{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(124,58,237,.13);}
.puan-page .chip-big{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:11px;row-gap:1px;
  text-align:left;padding:8px 15px;}
.puan-page .chip-big .chip-key{font-size:16px;font-weight:800;line-height:1.15;}
.puan-page .chip-big .chip-full{font-size:12.5px;color:var(--ink-soft);font-weight:600;line-height:1.15;}
.puan-page .chip-big .chip-dot{grid-row:span 2;}
.puan-page .chip-dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto;}
.puan-page .hint{margin:14px 2px 2px;font-size:13.5px;color:var(--ink-soft);background:#f7f3fd;
  border:1px dashed #ddd0f5;border-radius:12px;padding:11px 14px;}

/* ---------- AYT groups ---------- */
.puan-page .ayt-groups{display:flex;flex-direction:column;gap:calc(16px*var(--dens));}
.puan-page .ayt-group{border:1px solid var(--line);border-radius:13px;padding:6px 14px 12px;background:#fcfbff;
  animation:puanRise .3s ease both;}
.puan-page .ayt-group-title{font-weight:800;font-size:13px;letter-spacing:.3px;text-transform:uppercase;
  color:var(--primary);padding:12px 2px 2px;}
@keyframes puanRise{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ---------- Diploma + years ---------- */
.puan-page .dip-row{display:grid;grid-template-columns:1fr 1.2fr;gap:22px;padding:10px 0 4px;}
.puan-page .dip-field,.puan-page .year-field{display:flex;flex-direction:column;gap:8px;}
.puan-page .dip-field label,.puan-page .year-field label{font-weight:700;font-size:14px;}
.puan-page .dip-input{height:48px;border:1.5px solid var(--field-line);border-radius:12px;background:var(--field);
  padding:0 16px;font-size:18px;font-weight:700;outline:none;font-family:inherit;transition:.15s;}
.puan-page .dip-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px rgba(124,58,237,.12);}
.puan-page .dip-input.invalid{border-color:#e11d48;background:#fff1f3;}
.puan-page .dip-note{font-size:12.5px;color:var(--ink-soft);}
.puan-page .chk{display:flex;align-items:flex-start;gap:11px;margin-top:12px;cursor:pointer;background:var(--field);
  border:1.5px solid var(--field-line);border-radius:12px;padding:12px 14px;font-family:inherit;text-align:left;
  transition:.15s;width:100%;}
.puan-page .chk:hover{border-color:#cdbef0;}
.puan-page .chk-on{border-color:var(--primary);background:#faf7ff;box-shadow:0 0 0 3px rgba(124,58,237,.12);}
.puan-page .chk-box{width:22px;height:22px;flex:0 0 auto;border-radius:7px;border:1.5px solid var(--field-line);
  background:#fff;display:grid;place-items:center;font-weight:900;font-size:14px;color:#fff;transition:.15s;}
.puan-page .chk-on .chk-box{background:var(--primary);border-color:var(--primary);}
.puan-page .chk-lbl{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.3;}
.puan-page .chk-lbl em{display:block;font-style:normal;font-weight:600;font-size:12px;color:var(--ink-soft);margin-top:2px;}
.puan-page .year-chips{display:flex;flex-wrap:wrap;gap:8px;}
.puan-page .year-chips .chip{padding:9px 15px;font-size:15px;}

/* ---------- Actions ---------- */
.puan-page .actions{display:flex;gap:12px;align-items:center;margin-top:4px;}
.puan-page .btn-calc{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:58px;border:none;border-radius:15px;cursor:pointer;font-family:inherit;
  background:var(--head-grad);color:#fff;font-size:19px;font-weight:800;letter-spacing:.2px;
  box-shadow:0 12px 26px -10px rgba(124,58,237,.6);transition:transform .12s,box-shadow .2s,filter .2s;}
.puan-page .btn-calc:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(124,58,237,.7);filter:saturate(1.08);}
.puan-page .btn-calc:active{transform:translateY(0);}
.puan-page .btn-arrow{font-size:22px;}
.puan-page .btn-clear{height:58px;padding:0 22px;border-radius:15px;cursor:pointer;font-family:inherit;
  background:#fff;border:1.5px solid var(--field-line);color:var(--ink-soft);font-weight:700;font-size:16px;transition:.15s;}
.puan-page .btn-clear:hover{border-color:#cdbef0;color:var(--ink);}

/* ---------- Results ---------- */
.puan-page .results{display:flex;flex-direction:column;gap:calc(18px*var(--dens));animation:puanRise .35s ease both;}
.puan-page .results-head{display:flex;align-items:center;justify-content:space-between;margin-top:14px;}
.puan-page .results-head h2{margin:0;font-size:clamp(24px,4vw,32px);font-weight:800;letter-spacing:-.5px;}
.puan-page .btn-share{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 18px;border-radius:11px;
  border:1.5px solid var(--field-line);background:#fff;color:var(--primary);font-weight:700;font-size:14px;
  cursor:pointer;font-family:inherit;transition:.15s;}
.puan-page .btn-share:hover{border-color:var(--primary);background:#faf7ff;}

.puan-page .scorecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;}
.puan-page .scorecard{--accent:var(--primary);position:relative;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:18px 18px 16px;box-shadow:var(--shadow-sm);overflow:hidden;}
.puan-page .scorecard::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--accent);}
.puan-page .scorecard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:6px;}
.puan-page .sc-type{display:flex;flex-direction:column;}
.puan-page .sc-type-key{font-weight:800;font-size:20px;color:var(--accent);letter-spacing:-.3px;}
.puan-page .sc-type-full{font-size:12px;color:var(--ink-soft);font-weight:600;}
.puan-page .sc-big{text-align:right;}
.puan-page .sc-big-num{display:block;font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:28px;
  letter-spacing:-.5px;line-height:1;margin-bottom:3px;}
.puan-page .sc-big-lbl{font-size:9.5px;color:var(--ink-soft);font-weight:600;text-transform:uppercase;
  letter-spacing:.6px;opacity:.8;}
.puan-page .sc-bar{position:relative;height:9px;background:#efeaf7;border-radius:99px;margin:16px 0 22px;}
.puan-page .sc-bar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:var(--accent);
  transition:width .6s cubic-bezier(.2,.8,.2,1);}
.puan-page .sc-bar-min,.puan-page .sc-bar-max{position:absolute;top:13px;font-size:10px;color:var(--ink-soft);font-weight:600;}
.puan-page .sc-bar-min{left:0;} .puan-page .sc-bar-max{right:0;}
.puan-page .sc-stats{display:flex;gap:10px;}
.puan-page .sc-stat{flex:1;border-radius:11px;padding:10px 12px;
  background:color-mix(in srgb, var(--accent) 7%, #fff);
  border:1px solid color-mix(in srgb, var(--accent) 14%, #fff);}
.puan-page .sc-stat-lbl{display:block;font-size:11px;color:var(--ink-soft);font-weight:600;margin-bottom:2px;}
.puan-page .sc-stat-val{font-weight:800;font-size:16px;}
.puan-page .sc-divider{height:1px;background:var(--line);margin:16px 0 0;}
.puan-page .sc-link{display:inline-flex;align-items:center;gap:7px;margin-top:12px;
  padding:9px 14px;border:1.5px solid var(--field-line);border-radius:11px;background:#fff;
  color:var(--primary);font-weight:700;font-size:13.5px;text-decoration:none;cursor:pointer;
  transition:border-color .15s,background .15s;}
.puan-page .sc-link:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, #fff);}
.puan-page .sc-link-ico{font-size:14px;line-height:1;}
.puan-page .sc-link-arrow{font-size:15px;transition:transform .15s;}
.puan-page .sc-link:hover .sc-link-arrow{transform:translateX(3px);}

/* net summary */
.puan-page .netsum{margin-top:6px;}
.puan-page .netsum + .netsum{margin-top:16px;}
.puan-page .netsum-title{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.4px;
  color:var(--primary);margin-bottom:8px;}
.puan-page .netsum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;}
.puan-page .netsum-cell{background:var(--field);border-radius:10px;padding:9px 12px;display:flex;
  flex-direction:column;gap:2px;}
.puan-page .netsum-empty{opacity:.5;}
.puan-page .netsum-lbl{font-size:12px;color:var(--ink-soft);font-weight:600;}
.puan-page .netsum-val{font-weight:800;font-size:17px;}

/* ranking tables */
.puan-page .rtables{display:flex;flex-direction:column;gap:14px;}
.puan-page .rtable{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card);
  box-shadow:var(--shadow-sm);}
.puan-page .rtable-head{background:var(--head-grad);color:#fff;font-weight:800;font-size:15.5px;
  padding:14px 18px;letter-spacing:-.2px;}
.puan-page .rtable-scroll{overflow-x:auto;}
.puan-page .rtable table{width:100%;border-collapse:collapse;min-width:560px;}
.puan-page .rtable th{background:#f3edfc;color:var(--primary);font-weight:700;font-size:12.5px;
  text-transform:uppercase;letter-spacing:.3px;padding:11px 14px;text-align:right;}
.puan-page .rtable th.rt-type{text-align:left;}
.puan-page .rtable td{padding:12px 14px;text-align:right;font-weight:600;font-size:15px;border-top:1px solid var(--line);}
.puan-page .rtable td.rt-type{text-align:left;}
.puan-page .rtable tbody tr:nth-child(even){background:#faf8fe;}
.puan-page .rt-badge{--accent:var(--primary);display:inline-flex;align-items:center;font-weight:800;font-size:13px;
  color:#fff;background:var(--accent);padding:4px 11px;border-radius:8px;letter-spacing:.3px;}

/* FAQ / SSS */
.puan-page .faq{display:flex;flex-direction:column;gap:10px;margin-top:6px;}
.puan-page .faq-head{margin:8px 0 4px;font-size:clamp(20px,3vw,26px);font-weight:800;letter-spacing:-.4px;}
.puan-page .faq-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .2s,border-color .2s;}
.puan-page .faq-item.open{border-color:#e3d6fb;box-shadow:var(--shadow);}
.puan-page .faq-q{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;
  font-family:inherit;background:none;border:0;padding:16px 18px;
  color:var(--primary);font-weight:800;font-size:16px;letter-spacing:-.2px;line-height:1.3;}
.puan-page .faq-q:hover{background:#faf7ff;}
.puan-page .faq-icon{flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;
  font-size:21px;line-height:1;color:var(--primary);font-weight:700;}
.puan-page .faq-q-text{flex:1;min-width:0;}
.puan-page .faq-collapse{display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .26s cubic-bezier(.4,0,.2,1);}
.puan-page .faq-item.open .faq-collapse{grid-template-rows:1fr;}
.puan-page .faq-collapse-inner{overflow:hidden;min-height:0;}
.puan-page .faq-a{padding:0 18px 16px;color:var(--ink-soft);font-size:14.5px;line-height:1.6;}
.puan-page .faq-a:empty{padding:0;}
.puan-page .faq-a p{margin:0 0 10px;font-size:14.5px !important;line-height:1.6;}
.puan-page .faq-a p:last-child{margin-bottom:0;}
.puan-page .faq-a b{color:var(--ink);font-weight:700;}
.puan-page .faq-a ul{margin:0 0 10px;padding-left:20px;}
.puan-page .faq-a li{margin:2px 0;font-size:14.5px !important;line-height:1.6;}
.puan-page .faq-cols{columns:2;column-gap:24px;}
.puan-page .faq-cols li{break-inside:avoid;}
@media(max-width:520px){.puan-page .faq-cols{columns:1;}}
.puan-page .faq-baraj{width:100%;border-collapse:collapse;margin:0 0 10px;max-width:340px;}
.puan-page .faq-baraj td{padding:9px 14px;border-top:1px solid var(--line);font-size:14.5px;}
.puan-page .faq-baraj tr:first-child td{border-top:0;}
.puan-page .faq-baraj td:first-child{font-weight:700;color:var(--ink);}
.puan-page .faq-baraj td:last-child{text-align:right;font-weight:800;color:var(--primary);
  font-variant-numeric:tabular-nums;}
.puan-page .faq-baraj tr:nth-child(even){background:#f7f3fd;}
.puan-page .faq-h{margin:14px 0 6px;font-size:14px;font-weight:800;color:var(--primary);letter-spacing:-.1px;}
.puan-page .faq-a p.faq-formula{font-family:"Space Grotesk","Plus Jakarta Sans",sans-serif;font-weight:700;color:var(--ink);
  background:#f7f3fd;border:1px solid #e7defb;border-radius:10px;padding:9px 13px;margin:0 0 8px;font-size:15px !important;
  font-variant-numeric:tabular-nums;}
@media(prefers-reduced-motion:reduce){.puan-page .faq-collapse{transition:none;}}

/* disclaimer */
.puan-page .disclaimer{font-size:13px;color:var(--ink-soft);line-height:1.6;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:14px 18px;margin-top:6px;}
.puan-page .disclaimer b{color:var(--ink);}

/* toast */
.puan-page .toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:60;
  background:var(--ink);color:#fff;font-weight:700;font-size:14px;padding:13px 20px;border-radius:13px;
  box-shadow:0 16px 40px -12px rgba(36,26,58,.6);animation:puanRise .25s ease both;}

@media(max-width:560px){
  .puan-page .dip-row{grid-template-columns:1fr;gap:16px;}
  .puan-page .subj-fields{grid-template-columns:62px 62px 54px;gap:7px;}
  .puan-page .subj-row{gap:8px;}
  .puan-page .ans-input{height:42px;font-size:16px;}
  .puan-page .net-pill{height:42px;font-size:15px;}
  .puan-page .actions{flex-direction:column-reverse;}
  .puan-page .btn-clear,.puan-page .btn-calc{width:100%;}
  /* Mobilde ham puan/sıralama kolonlarını gizle; yalnızca yerleştirme puanı ve sıralaması kalsın */
  .puan-page .rtable .rt-ham{display:none;}
  .puan-page .rtable table{min-width:0;}
}
@media(max-width:380px){
  .puan-page .subj-fields{grid-template-columns:54px 54px 48px;gap:6px;}
  .puan-page .subj-name{font-size:14px;}
}
