:root{
  --bg:#f5f7fb; --card:#ffffff; --ink:#111827; --sub:#5b6474; --line:#e3e8f0; --soft:#eef3ff;
  --blue:#1f5eff; --blue-ink:#ffffff; --blue-soft:rgba(31,94,255,.12); --blue-band:rgba(31,94,255,.10);
  --gray-dot:#b8c0cc; --ok:#11845b; --warn:#b45309; --bad:#c2410c; --err:#d93025; --err-soft:rgba(217,48,37,.08); --shadow:0 1px 2px rgba(16,24,40,.06),0 4px 16px rgba(16,24,40,.06);
  --r:16px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0f1420; --card:#171d2b; --ink:#e8ecf3; --sub:#9aa4b6; --line:#2a3245; --soft:#1d2840;
    --blue:#5b8cff; --blue-ink:#0b1020; --blue-soft:rgba(91,140,255,.18); --blue-band:rgba(91,140,255,.14);
    --gray-dot:#4a5468; --ok:#3ccf91; --warn:#f0a648; --bad:#ff8a5c; --err:#ff7b72; --err-soft:rgba(255,123,114,.12); --shadow:none;
  }
}
:root[data-theme="dark"]{
  --bg:#0f1420; --card:#171d2b; --ink:#e8ecf3; --sub:#9aa4b6; --line:#2a3245; --soft:#1d2840;
  --blue:#5b8cff; --blue-ink:#0b1020; --blue-soft:rgba(91,140,255,.18); --blue-band:rgba(91,140,255,.14);
  --gray-dot:#4a5468; --ok:#3ccf91; --warn:#f0a648; --bad:#ff8a5c; --err:#ff7b72; --err-soft:rgba(255,123,114,.12); --shadow:none;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;word-break:keep-all;overflow-wrap:anywhere}
a{color:var(--blue)}
button,input,select{font:inherit;color:inherit}
.wrap{max-width:640px;margin:0 auto;padding:12px 16px 120px}
.wrap.wide{max-width:1040px}

/* 상단 */
.top{position:sticky;top:0;z-index:5;background:var(--card);border-bottom:1px solid var(--line)}
.top-in{max-width:1040px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-weight:800;font-size:20px;text-decoration:none;color:var(--ink)}
.brand .b1{color:var(--blue)}
.top-nav{display:none;gap:4px}
.top-nav button,.top-nav a{background:none;border:0;padding:8px 10px;border-radius:10px;color:var(--sub);text-decoration:none;cursor:pointer;font-size:14px}
.top-nav button:hover,.top-nav a:hover{background:var(--soft);color:var(--ink)}
.fav-n{color:var(--blue);font-weight:700}

/* 하단 탭(모바일) */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);background:var(--card);border-top:1px solid var(--line);padding:4px 0 calc(4px + env(safe-area-inset-bottom))}
.tabbar button,.tabbar a{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:1px;font-size:11px;color:var(--sub);text-decoration:none;padding:6px 0;cursor:pointer}
.tabbar .ico{font-size:18px;line-height:1}
.tabbar .on{color:var(--blue);font-weight:700}
.foot{max-width:640px;margin:0 auto;padding:0 16px 96px;color:var(--sub);font-size:12px;text-align:center}

/* 진행 표시 */
.prog{display:flex;align-items:center;gap:10px;margin:6px 0 18px}
.prog .back{background:none;border:0;font-size:22px;line-height:1;padding:4px 8px 4px 0;cursor:pointer;color:var(--ink)}
.prog .back[disabled]{visibility:hidden}
.bar{flex:1;height:6px;border-radius:6px;background:var(--line);overflow:hidden}
.bar i{display:block;height:100%;background:var(--blue);border-radius:6px;transition:width .25s}
.prog .lab{font-size:12px;color:var(--sub);white-space:nowrap}

/* 질문 화면 */
.q h1{font-size:26px;line-height:1.3;margin:4px 0 6px;letter-spacing:-.01em}
.q .lead{color:var(--sub);margin:0 0 18px}
.opts{display:grid;gap:10px}
.opts.two{grid-template-columns:1fr 1fr}
.opt{position:relative;display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:16px;cursor:pointer;box-shadow:var(--shadow);min-height:64px}
.opt:hover{border-color:var(--blue)}
.opt[aria-pressed="true"],.opt[aria-checked="true"]{border-color:var(--blue);background:var(--blue-soft)}
.opt .oi{flex:none;width:40px;height:40px;border-radius:12px;background:var(--soft);display:grid;place-items:center;font-size:20px}
.opt .ot{font-weight:700;font-size:17px}
.opt .os{display:block;font-weight:400;font-size:13px;color:var(--sub)}
.opt .ck{margin-left:auto;flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:14px;color:transparent}
.opt[aria-pressed="true"] .ck,.opt[aria-checked="true"] .ck{background:var(--blue);border-color:var(--blue);color:var(--blue-ink)}
.opts.two .opt{flex-direction:column;align-items:flex-start;gap:6px}
.opts.two .opt .ck{position:absolute;top:10px;right:10px}
.opt.small{min-height:48px;padding:10px 14px;box-shadow:none}
.opt.small .ot{font-size:15px;font-weight:600}

.info{display:flex;gap:8px;align-items:flex-start;background:var(--soft);border-radius:12px;padding:10px 12px;margin:16px 0 0;font-size:13px;color:var(--sub)}
.info b{color:var(--ink)}
.warn{background:rgba(180,83,9,.10);color:var(--ink)}

.next{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));margin-top:20px;padding-top:8px;background:linear-gradient(to bottom,transparent,var(--bg) 30%)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:14px;padding:14px 18px;font-weight:700;cursor:pointer;text-decoration:none}
.btn.primary{width:100%;background:var(--blue);color:var(--blue-ink);font-size:17px}
.btn.primary[disabled]{opacity:.4;cursor:not-allowed}
.btn.line{background:var(--card);border:1.5px solid var(--blue);color:var(--blue)}
.btn.ghost{background:none;border:1px solid var(--line);color:var(--ink);padding:8px 12px;font-weight:600;border-radius:10px}
.btn.sm{padding:8px 12px;font-size:14px;border-radius:10px}

/* 입력 */
.field{display:block;margin:0 0 14px}
.field>span{display:block;font-size:14px;color:var(--sub);margin-bottom:6px}
.field input,.field select{width:100%;padding:14px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);font-size:18px}
.field input:focus,.field select:focus{outline:none;border-color:var(--blue)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:8px 14px;cursor:pointer;font-size:15px}
.chip[aria-pressed="true"]{border-color:var(--blue);background:var(--blue-soft);color:var(--ink);font-weight:700}
.chip small{color:var(--sub);font-weight:400;margin-left:4px}
.chip.dim{opacity:.6}

.qh{font-weight:700;margin:18px 0 8px}
.qh.big{font-size:13px;letter-spacing:.04em;color:var(--blue);margin:22px 0 8px;padding-top:12px;border-top:1px solid var(--line)}
.qh.big:first-of-type{border-top:0;padding-top:0}
.tag{display:inline-block;font-size:11px;font-weight:700;border-radius:6px;padding:2px 6px;margin-left:6px;vertical-align:2px}
.tag.t-req{background:var(--blue-soft);color:var(--blue)}
.tag.t-opt{background:var(--soft);color:var(--sub)}
.mrow{display:grid;grid-template-columns:52px repeat(3,minmax(0,1fr));gap:6px;align-items:end;margin-bottom:8px}
.mrow.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.mrow.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.mrow b{font-size:14px;padding-bottom:12px}
.mini{display:flex;flex-direction:column;gap:3px;min-width:0}
.mini span{font-size:11.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini input,.mini select{width:100%;min-width:0;padding:11px 8px;border-radius:10px;border:1.5px solid var(--line);background:var(--card);font-size:16px}
.mini select{font-size:14px;padding:11px 4px}
.mini input:focus,.mini select:focus{outline:none;border-color:var(--blue)}
.q .chips .chip{padding:10px 14px}
/* 수능 성적 한 화면 표 */
.sgrid{display:grid;gap:6px;margin-top:4px}
.sgrid .sh,.sgrid .sr{display:grid;grid-template-columns:52px repeat(3,minmax(0,1fr));gap:6px;align-items:center}
.sgrid .sh{font-size:11.5px;color:var(--sub);margin-top:6px}
.sgrid .sr b{font-size:14px}
.sgrid input,.sgrid select{width:100%;min-width:0;padding:10px 8px;border-radius:10px;border:1.5px solid var(--line);background:var(--card);font-size:16px}
.sgrid select{font-size:14px;padding:10px 4px}
.sgrid input:focus,.sgrid select:focus{outline:none;border-color:var(--blue)}
.sgrid .sr.two{grid-template-columns:52px minmax(0,1fr) 52px minmax(0,1fr);margin-top:6px}
/* 과목 입력 */
details.more{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
details.more summary{cursor:pointer;font-weight:700}
.course{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}
.course label{display:flex;flex-direction:column;font-size:11px;color:var(--sub);gap:2px;min-width:0}
.course select,.course input{padding:8px 6px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:14px;width:100%;min-width:0}
.course .c-name{grid-column:span 2}
.course .del{grid-column:span 1;padding:8px 0}
.row-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}

/* 요약 */
.sum{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.sum div{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}
.sum div:last-child{border-bottom:0}
.sum dt{color:var(--sub);font-size:14px}
.sum dd{margin:0;text-align:right;font-weight:600}
.sum button{background:none;border:0;color:var(--blue);cursor:pointer;font-size:13px;padding:0 0 0 8px}

/* 결과 */
.res-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:4px 0 10px}
.res-head h1{font-size:24px;margin:0;line-height:1.3}
.res-head .lead{color:var(--sub);margin:4px 0 0;font-size:14px}
.pill{display:inline-block;background:var(--soft);color:var(--sub);border-radius:999px;padding:4px 10px;font-size:13px;margin:2px 4px 2px 0}
.pill.blue{background:var(--blue-soft);color:var(--blue);font-weight:700}
.seg{display:inline-flex;background:var(--soft);border-radius:12px;padding:3px;margin:6px 0;flex-wrap:wrap}
.seg button{border:0;background:none;padding:7px 12px;border-radius:9px;cursor:pointer;font-size:14px;color:var(--sub)}
.seg button[aria-pressed="true"]{background:var(--card);color:var(--ink);font-weight:700;box-shadow:var(--shadow)}
.ctrls{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:4px 0 8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;box-shadow:var(--shadow);margin:10px 0}
.chart{width:100%;height:auto;display:block;touch-action:manipulation}
.chart text{fill:var(--sub);font-size:11px}
.chart .ax{stroke:var(--line)}
.chart .me{stroke:var(--blue);stroke-width:2}
.chart .band{fill:var(--blue-band)}
.chart .d0{fill:var(--gray-dot)}
.chart .d1{fill:var(--blue)}
.chart .sel{stroke:var(--ink);stroke-width:2.5}
.chart .lbl{fill:var(--ink);font-size:11px;font-weight:600;paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.res-head .btn{white-space:nowrap;flex:none}
.chart .metag{fill:var(--blue)}
.chart .metxt{fill:var(--blue-ink);font-size:12px;font-weight:700}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--sub);margin-top:6px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:-1px}
.note{font-size:12.5px;color:var(--sub);margin:6px 0 0}
.dhead{position:sticky;top:54px;z-index:4;background:var(--bg);padding:8px 0;margin-bottom:4px}
details.note-more{margin-top:6px}
details.note-more summary{cursor:pointer;display:inline}
.res-grid>.card{margin-top:0}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{font-size:12px;color:var(--sub);font-weight:600;text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:9px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr[data-k]{cursor:pointer}
.tbl tr[data-k]:hover td{background:var(--soft)}
.tbl tr.on td{background:var(--blue-soft)}
.tbl .n{text-align:right;white-space:nowrap}
.list{list-style:none;margin:8px 0 0;padding:0}
.list li{border-top:1px solid var(--line)}
.list button{display:block;width:100%;text-align:left;background:none;border:0;padding:10px 4px;cursor:pointer;border-radius:8px}
.list button:hover{background:var(--soft)}
.list button.on{background:var(--blue-soft)}
.list .l1{display:flex;gap:8px;align-items:baseline}
.list .l1 .v{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums}
.list .l2{display:block;font-size:12.5px;color:var(--sub);margin-top:2px}
.list .st{margin-left:2px;font-size:11.5px;padding:1px 8px}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.uc{display:flex;gap:12px;align-items:flex-start}
.uc .logo{flex:none;width:44px;height:44px;border-radius:12px;background:var(--soft);display:grid;place-items:center;font-size:22px}
.uc h3{margin:0;font-size:18px}
.uc .s{color:var(--sub);font-size:14px}
.heart{margin-left:auto;background:none;border:0;font-size:24px;cursor:pointer;color:var(--sub);line-height:1;padding:2px}
.heart[aria-pressed="true"]{color:#e0245e}
.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 4px}
.kv div{background:var(--soft);border-radius:12px;padding:10px 12px}
.kv small{display:block;color:var(--sub);font-size:12px}
.kv b{font-size:20px}
.st{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:700}
.st.ok{background:rgba(17,132,91,.12);color:var(--ok)}
.st.chk{background:rgba(180,83,9,.12);color:var(--warn)}
.st.no{background:rgba(194,65,12,.12);color:var(--bad)}
.st.na{background:var(--soft);color:var(--sub)}
.rule{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}
.rule .score{font-size:22px;font-weight:800}
.rule details{margin-top:6px;font-size:13px;color:var(--sub)}
.rule select{padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:14px;max-width:100%}
.empty{text-align:center;color:var(--sub);padding:28px 8px}
.badge{display:inline-block;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;background:var(--soft);color:var(--ink)}
.badge.v1{background:rgba(17,132,91,.12);color:var(--ok)}
.badge.v2{background:rgba(31,94,255,.12);color:var(--blue)}

/* 태블릿 */
@media (min-width:600px){
  .wrap{padding-top:24px}
  .q{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:28px 28px 24px;box-shadow:var(--shadow)}
  .q h1{font-size:30px}
  .next{position:static;background:none;padding-top:0}
  .opts.three{grid-template-columns:repeat(3,1fr)}
  .kv{grid-template-columns:repeat(4,minmax(0,1fr))}
  .course{grid-template-columns:repeat(8,minmax(0,1fr))}
}
/* 웹 */
@media (min-width:1024px){
  .top-nav{display:flex}
  .tabbar{display:none}
  .wrap{padding-bottom:48px}
  .foot{padding-bottom:32px}
  .res-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}
  .res-grid .card{margin-top:0}
  .res-side{position:sticky;top:72px}
}

/* 결과 목록: 넓은 화면은 표, 좁은 화면은 카드 */
.lhead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;margin-bottom:6px}
.lhead .seg{margin:0}
.rtbl{width:100%;border-collapse:collapse;font-size:14px}
.rtbl th{font-size:12px;color:var(--sub);font-weight:600;text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);white-space:nowrap}
.rtbl th.n,.rtbl td.n{text-align:right}
.rtbl td{padding:10px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.rtbl tbody tr{cursor:pointer}
.rtbl tbody tr:hover,.rtbl tbody tr:focus{background:var(--soft);outline:none}
.rtbl tr.on{background:var(--blue-soft)}
.rtbl td small{display:block;font-size:11px;color:var(--sub);font-weight:400;margin-top:2px}
.rtbl td.n small{display:block}
.rtbl td.gap{font-weight:700;white-space:nowrap}
.rtbl small.i{display:inline;margin-left:1px}
.rtbl td.u b{margin-right:4px}
.rtbl td.u .st{font-size:11px;padding:1px 6px}
@media (max-width:640px){
  .rtbl thead{display:none}
  .rtbl,.rtbl tbody{display:block}
  .rtbl tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px;padding:12px 4px;border-bottom:1px solid var(--line)}
  .rtbl td{display:block;border:0;padding:0;text-align:left!important}
  .rtbl td.u{grid-column:1/-1;font-size:15px}
  .rtbl td[data-l]:not(.u)::before{content:attr(data-l);display:block;font-size:11px;color:var(--sub);font-weight:400}
  .rtbl td.gap{font-size:16px}
}
/* 대학으로 보기 */
.sec2{font-size:17px;margin:22px 0 4px}
.hbar{display:block;height:8px;border-radius:6px;background:var(--line);overflow:hidden}
.hbar i{display:block;height:100%;background:var(--blue)}

/* 2026-10-20 강점 보이기: 약속·왜 이 위치·확인할 점·근거·군 조합판 */
.trust{display:flex;flex-wrap:wrap;gap:4px 6px;margin:6px 0 0;font-size:12px;color:var(--sub)}
.trust span{background:var(--soft);border-radius:999px;padding:2px 9px}
.trust span:first-child{color:var(--blue);font-weight:700}
.wtag{display:inline-block;border-radius:6px;padding:0 6px;font-size:11px;font-weight:700;color:var(--warn);background:rgba(180,83,9,.12);white-space:nowrap}
.why{margin:10px 0 6px;padding:10px 12px;border-radius:10px;background:var(--soft);font-size:14px;line-height:1.55}
.cau{margin:6px 0 10px;padding:8px 12px;border:1px solid rgba(180,83,9,.35);border-radius:10px;font-size:13.5px}
.cau ul{margin:4px 0 0;padding-left:0;list-style:none}
.cau li{margin:3px 0}
.evi{margin-top:12px;border-top:1px solid var(--line);padding-top:4px}
.exs{display:flex;flex-wrap:wrap;gap:4px}
.exs span{border:1px solid var(--line);border-radius:8px;padding:2px 8px;font-size:12.5px}
.exs small{color:var(--sub);margin-right:5px}
.gunb{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:8px}
.gcol{border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0}
.gcol .gh{margin:0 0 4px;font-weight:800}
.gcol .gh small{color:var(--sub);font-weight:400}
.gcol ul{list-style:none;margin:0;padding:0}
.gcol li button{display:block;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:7px 0;color:var(--ink);font:inherit;cursor:pointer}
.gcol li:first-child button{border-top:0}
.gcol .gv{display:block;font-size:12.5px;color:var(--sub)}
.gcol .gv small{margin-left:2px}
/* 수능 성적표 모양 입력 */
.sheet{width:100%;border-collapse:collapse;table-layout:fixed;margin:0 0 10px;font-size:13px}
.sheet th,.sheet td{border:1px solid var(--line);padding:3px;text-align:center}
.sheet thead th{background:var(--soft);font-weight:700;font-size:12px;padding:6px 2px}
.sheet tbody th{width:52px;font-weight:700;background:var(--soft)}
.sheet .ci{width:100%;min-width:0;box-sizing:border-box;height:34px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);font:inherit;text-align:center;padding:0 2px}
.sheet .ci.req{border-color:var(--blue);background:var(--blue-soft)}
.sheet .ci.na{display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--sub)}
.reqm{color:var(--blue)}
.mrow.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.sheet thead small{display:block;font-size:10.5px;font-weight:700;margin-top:1px}
.sheet thead small.hreq{color:var(--blue)}
.sheet thead small.hopt{color:var(--sub);font-weight:400}
/* 성적이 오르면?(가정) */
details.sim summary{cursor:pointer;list-style:none}
details.sim summary::-webkit-details-marker{display:none}
.simrows{display:grid;gap:6px;margin:10px 0}
.simr{display:grid;grid-template-columns:minmax(64px,96px) repeat(2,minmax(0,44px)) 46px repeat(2,minmax(0,44px));align-items:center;gap:4px}
.simr b{font-size:14px}
.simr .simv{min-width:44px;text-align:center;font-weight:800;color:var(--blue)}
.simr .btn{min-width:0;padding:4px 2px;width:100%}
/* 과목별 내신 입력 표(머리글 한 번) */
.ctbl{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;margin:4px 0}
.ctbl th{font-size:11.5px;font-weight:700;color:var(--sub);text-align:left;padding:4px 3px;border-bottom:1px solid var(--line)}
.ctbl th small{display:block;font-weight:400;font-size:10.5px}
.ctbl th:nth-child(1){width:14%}.ctbl th:nth-child(2){width:15%}.ctbl th:nth-child(3){width:14%}.ctbl th:nth-child(5){width:11%}.ctbl th:nth-child(6){width:13%}.ctbl th:nth-child(7){width:30px}
.ctbl td{padding:3px 2px;border-bottom:1px solid var(--line)}
.ctbl select,.ctbl input{width:100%;min-width:0;box-sizing:border-box;padding:6px 3px;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:13px}
.ctbl .cdel{width:28px;height:28px;border-radius:6px;border:1px solid var(--line);background:none;color:var(--sub);font-size:16px;line-height:1;cursor:pointer;padding:0}
@media (min-width:640px){ .ctbl{font-size:14px} .ctbl select,.ctbl input{padding:7px 6px;font-size:14px} }
.ctbl tr.course{display:table-row;padding:0;border:0}
.ctbl tr.course td{vertical-align:middle}
.ctbl select{-webkit-appearance:none;appearance:none;text-align:center;text-align-last:center;padding:6px 1px}
.ctbl input{text-align:center}
.ctbl td:nth-child(4) input{text-align:left;padding-left:5px}

/* 2028 반영 방법 점수(score2028.js) */
.r28w .r28:first-child{margin-top:8px}
.r28 .score small{font-weight:600}
.sim .tbl select{padding:4px 6px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:13px;max-width:100%}
.ctbl.c8 th:nth-child(1){width:12%}.ctbl.c8 th:nth-child(2){width:13%}.ctbl.c8 th:nth-child(3){width:13%}.ctbl.c8 th:nth-child(5){width:10%}.ctbl.c8 th:nth-child(6){width:11%}.ctbl.c8 th:nth-child(7){width:12%}.ctbl.c8 th:nth-child(8){width:30px} /* 2028 이후: 등급·성취도 두 칸 */

/* ---- 정시 진단(diagview.js, 2026-10-21): .dg 안에서만 쓰는 모양 ---- */
.dg{--dg-g:#14a06b;--dg-o:#f08a24;--dg-r:#e5484d;--dg-b:#1f5eff;--dg-t:#0ea5b7;--dg-tg:rgba(20,160,107,.12);--dg-to:rgba(240,138,36,.14);--dg-tb:rgba(31,94,255,.10);--dg-tr:rgba(229,72,77,.12)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .dg{--dg-g:#3ccf91;--dg-o:#f5a54a;--dg-r:#ff6b6f;--dg-b:#5b8cff;--dg-t:#38c6d6;--dg-tg:rgba(60,207,145,.16);--dg-to:rgba(245,165,74,.18);--dg-tb:rgba(91,140,255,.16);--dg-tr:rgba(255,107,111,.16)}}
:root[data-theme="dark"] .dg{--dg-g:#3ccf91;--dg-o:#f5a54a;--dg-r:#ff6b6f;--dg-b:#5b8cff;--dg-t:#38c6d6;--dg-tg:rgba(60,207,145,.16);--dg-to:rgba(245,165,74,.18);--dg-tb:rgba(91,140,255,.16);--dg-tr:rgba(255,107,111,.16)}
.dg .tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 12px}
.dg .tabs button{border:2px solid var(--line);background:var(--card);border-radius:14px;padding:10px;font-weight:800;font-size:16px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--ink)}
.dg .tabs button small{font-weight:500;font-size:12px;color:var(--sub)}
.dg .tabs button[aria-selected="true"]{border-color:var(--dg-b);background:var(--dg-tb);color:var(--dg-b)}
.dg .steps{display:flex;align-items:center;gap:4px;margin:0 0 12px;overflow-x:auto;padding:2px}
.dg .steps button{flex:1;min-width:84px;display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:none;color:var(--ink);font-size:12px;font-weight:700;padding:6px 2px;border-radius:12px;cursor:pointer}
.dg .steps button:hover{background:var(--soft)}
.dg .steps i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:14px;font-weight:800}
.dg .steps .ar{color:var(--gray-dot);font-weight:800;flex:0 0 auto}
.dg .sec{background:var(--card);border-radius:18px;box-shadow:var(--shadow);border:1px solid var(--line);padding:16px;margin:0 0 14px;scroll-margin-top:70px}
.dg .sh{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.dg .sh i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;font-style:normal;font-weight:800}
.dg .sh h2{margin:0;font-size:19px}
.dg .grid2{display:grid;grid-template-columns:1.1fr 1fr;gap:16px}
.dg .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dg .rings{display:flex;justify-content:space-around;gap:6px;flex-wrap:wrap}
.dg .ring{text-align:center;min-width:88px;color:var(--ink)}
.dg .ring svg{display:block;margin:0 auto}
.dg .ring .lb{font-weight:800;margin-top:2px}
.dg .tg2{display:inline-block;font-size:11px;font-weight:800;border-radius:6px;padding:1px 6px;margin-top:2px}
.dg .bigavg{display:flex;align-items:baseline;gap:8px;justify-content:center;margin:10px 0 4px}
.dg .bigavg b{font-size:38px;letter-spacing:-1px;color:var(--dg-b)}
.dg .gpills{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.dg .gpills span{background:var(--soft);border-radius:10px;padding:4px 10px;font-size:13px}
.dg .donut{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;color:var(--ink)}
.dg .lgd{display:grid;gap:8px;min-width:170px}
.dg .lgd div{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;font-size:14px}
.dg .lgd s{width:12px;height:12px;border-radius:3px;display:block}
.dg .lgd b{font-size:18px}
.dg .kpi{border-radius:16px;padding:14px;text-align:center}
.dg .kpi b{display:block;font-size:26px;letter-spacing:-1px;line-height:1.15}
.dg .kpi span{font-size:13px;color:var(--sub)}
.dg .say{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.dg .say li{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:start;font-size:15px}
.dg .say li i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:13px;font-weight:800}
.dg .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.dg .acts button{flex:1;min-width:140px;text-align:center;border:0;border-radius:12px;padding:10px;font-weight:700;color:#fff;cursor:pointer;font-size:15px}
.dg .cbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--soft);border-radius:12px;padding:8px 10px}
.dg .cbar .bd{background:var(--card)}
.dg .stkl{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--sub);margin-top:8px}
.dg .stkl b{color:var(--ink)}
.dg .lvl{border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:12px}
.dg .lvh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.dg .seg2{display:inline-flex;background:var(--soft);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}
.dg .seg2 button{border:0;background:none;border-radius:8px;padding:4px 9px;font-size:12px;font-weight:700;cursor:pointer;color:var(--sub)}
.dg .seg2 button[aria-pressed="true"]{background:var(--card);color:var(--dg-b);box-shadow:var(--shadow)}
.dg .hist{width:100%;height:80px;display:block}
.dg .lab2{display:flex;justify-content:space-between;font-size:12px;color:var(--sub);gap:8px}
.dg input[type=range]{width:100%;margin:8px 0 0;accent-color:var(--dg-b)}
.dg .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:14px}
.dg .cd{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--card);position:relative}
.dg .cd .rk{position:absolute;top:-10px;left:12px;background:var(--dg-b);color:#fff;border-radius:8px;font-size:12px;font-weight:800;padding:1px 8px}
.dg .cdh{display:block;width:100%;text-align:left;border:0;background:none;padding:0;cursor:pointer;color:var(--ink);border-radius:8px}
.dg .cdh h3{margin:4px 0 2px;font-size:16px}
.dg .cdh small{color:var(--dg-b)}
.dg .cdh:hover h3{color:var(--dg-b)}
.dg .u{font-size:14px;color:var(--sub)}
.dg .meta{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.dg .bd{font-size:11px;font-weight:800;border-radius:6px;padding:1px 6px;background:var(--soft);color:var(--sub);text-decoration:none}
.dg .bd.g{background:var(--dg-tg);color:var(--dg-g)} .dg .bd.o{background:var(--dg-to);color:var(--dg-o)} .dg .bd.b{background:var(--dg-tb);color:var(--dg-b)} .dg .bd.r{background:var(--dg-tr);color:var(--dg-r)}
.dg .gauge{margin:12px 0 4px}
.dg .gauge .tr{position:relative;height:10px;border-radius:5px;background:var(--soft)}
.dg .gauge .me{position:absolute;left:50%;top:-5px;width:3px;height:20px;background:var(--ink);border-radius:2px;transform:translateX(-50%)}
.dg .gauge .pb{position:absolute;top:-3px;width:16px;height:16px;border-radius:50%;background:var(--dg-b);border:2px solid var(--card);transform:translateX(-50%)}
.dg .gauge .lab{display:flex;justify-content:space-between;font-size:11px;color:var(--sub);margin-top:4px}
.dg .gv{font-size:14px} .dg .gv b{font-size:18px}
.dg .why2{font-size:13px;color:var(--ink);background:var(--soft);border-radius:10px;padding:8px 10px;margin-top:8px}
.dg .btns{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.dg .dbtn{font-size:12px;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:5px 10px;cursor:pointer;color:var(--ink)}
.dg .dbtn.pri,.dg .dbtn[aria-pressed="true"]{background:var(--dg-b);color:#fff;border-color:var(--dg-b)}
.dg .steppers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dg .stp{border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center}
.dg .stp .lb{font-size:12px;color:var(--sub)}
.dg .stp .v{font-size:22px;font-weight:800}
.dg .stp .v small{font-size:12px;color:var(--sub);font-weight:500}
.dg .stp button{border:1px solid var(--line);background:var(--card);border-radius:8px;min-width:34px;height:30px;cursor:pointer;font-weight:800;color:var(--ink);font-size:12px}
.dg .bigup{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0}
.dg .bigup .n{font-size:50px;font-weight:900;color:var(--dg-g);letter-spacing:-2px;line-height:1}
.dg .hb{display:grid;gap:8px;margin:8px 0}
.dg .hb div{display:grid;grid-template-columns:70px 1fr 56px;gap:8px;align-items:center;font-size:14px}
.dg .hb .t{height:16px;border-radius:8px;background:var(--soft);overflow:hidden}
.dg .hb .t i{display:block;height:100%;border-radius:8px}
.dg .hb.need div{grid-template-columns:110px 1fr 160px}
.dg .mv{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.dg .mv:first-child{border-top:0}
.dg .mv .ar2{font-variant-numeric:tabular-nums;white-space:nowrap}
.dg .cmp{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px}
.dg .cmp .col{border-radius:16px;padding:14px}
.dg .cmp h3{margin:0;font-size:17px}
.dg .cmpx{border:0;background:none;color:var(--sub);font-size:18px;cursor:pointer;float:right;line-height:1}
.dg .lnk{border:0;background:none;color:var(--dg-b);font:inherit;cursor:pointer;padding:0;text-align:left}
.dg .lnk:hover{text-decoration:underline}
.dg .note2{font-size:12px;color:var(--sub);margin:8px 0 0}
.dg .tpick{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.dg .tpick label{display:grid;gap:4px;font-size:13px;font-weight:800;color:var(--sub);flex:1;min-width:min(200px,100%)}
.dg .tpick select{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:8px;font-weight:600;color:var(--ink);max-width:100%}
.dg .thead{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.dg .thead h3{margin:0;font-size:20px}
.dg .tbig{text-align:center;background:var(--dg-tr);border-radius:16px;padding:10px 16px;min-width:150px}
.dg .tbig.ok{background:var(--dg-tg)}
.dg .tbig span,.dg .tbig small{display:block;font-size:12px;color:var(--sub)}
.dg .tbig b{display:block;font-size:30px;color:var(--dg-r);letter-spacing:-1px}
.dg .tbig.ok b{color:var(--dg-g)}
.dg .tline{font-size:14px;margin:8px 0 0}
.dg .res{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:15px}
.dg .res b{font-size:20px}
.dg details.ev summary{cursor:pointer;color:var(--dg-b);font-size:13px;margin-top:10px}
.dg details.ev p{font-size:13px;color:var(--sub);margin:6px 0}
.dgsheet{position:fixed;inset:0;z-index:50;display:flex;justify-content:center;align-items:flex-end}
.dgsheet .sbg{position:absolute;inset:0;background:rgba(10,14,24,.55)}
.dgsheet .sbody{position:relative;background:var(--card);width:100%;max-width:720px;max-height:88vh;overflow:auto;border-radius:20px 20px 0 0;padding:18px 18px 24px;box-shadow:var(--shadow)}
@media (min-width:760px){ .dgsheet{align-items:center} .dgsheet .sbody{border-radius:20px} }
.dgsheet .x{position:sticky;top:0;float:right;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:50%;width:34px;height:34px;font-size:20px;cursor:pointer;z-index:1}
.dg .dt th,.dg .dt td{padding:6px 8px;font-size:13px}
@media (max-width:720px){ .dg .grid2{grid-template-columns:1fr} .dg .kpi b{font-size:20px} .dg .bigup .n{font-size:40px} .dg .thead{grid-template-columns:1fr} .dg .hb.need div{grid-template-columns:84px 1fr 120px} }
@media (max-width:420px){ .dg .steppers{grid-template-columns:1fr} .dg .kpi{padding:10px 6px} .dg .kpi span{font-size:12px} .dg .tabs button{font-size:14px} .dg .lab2{font-size:11px} .dg .grid3{gap:6px} }

/* ---- 2028·2029 수시 진단(susi28view.js, 2026-10-22) ---- */
.dg .heat{width:100%;border-collapse:separate;border-spacing:4px;font-size:12px}
.dg .heat th{color:var(--sub);font-weight:700;text-align:center;padding:2px}
.dg .heat th:first-child{text-align:left}
.dg .heat td{text-align:center;border-radius:8px;padding:6px 2px;font-weight:800;min-width:34px}
.dg .heat td.e{background:var(--soft);color:var(--gray-dot);font-weight:400}
.dg .heat td.p{border:2px dashed var(--dg-b)}
.dg .hl{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--sub);margin-top:4px}
.dg .hl i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:3px}
.dg .sc{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin:8px 0 2px}
.dg .sc b{font-size:28px;letter-spacing:-1px;color:var(--dg-b)}
.dg .sc small{color:var(--sub)}
.dg .eff{display:grid;gap:4px;margin:6px 0}
.dg .eff div{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:13px}
.dg .eff b{color:var(--dg-g)}
.dg .gsel{border:1px solid var(--line);border-radius:8px;padding:2px 4px;background:var(--card);color:var(--ink)}
.dg .ptab{width:100%;border-collapse:collapse;font-size:13px}
.dg .ptab th,.dg .ptab td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}
.dg .ptab td.n,.dg .ptab th.n{text-align:right}
.dg .ptab tr.plan td{background:var(--dg-tb)}
.dg .ptab tr.out td{color:var(--sub)}
.dg .steps2 li{font-size:13px;color:var(--sub)}

/* 9등급 수시 화면을 진단 틀(.dg .sec) 안에 넣을 때 안쪽 카드는 테두리를 겹치지 않게 */
.dg.s9 .sec>.card{box-shadow:none;border:0;background:none;padding:0;margin:10px 0 0}
.dg.s9 .cbar{margin-bottom:4px}

/* 조건 0곳 안내(zeroWhyHTML) */
.zwhy{margin:10px 0}
.zwhy .tbl{margin:6px 0}
.zwhy .tbl td{padding:4px 8px;font-size:13px}

/* 수시 진단 내신 리뷰: 국·영·수 크게, 사회·과학·한국사 작게 */
.dg .rings.sm{margin-top:10px;gap:4px}
.dg .rings.sm .ring{min-width:70px}
.dg .rings.sm .lb{font-size:13px}

/* 1차 개편 카드(2026-10-22): 어디 → 왜 볼 만한가(한 문장) → 내 결과 → 할 일 → 근거 */
.dg .cd2 h3{font-size:17px;line-height:1.35}
.dg .cd2 .u2{font-size:14px;font-weight:600;color:var(--ink)}
.dg .cd2 .u{font-size:12px;color:var(--sub)}
.dg .cd2 .wl{margin:10px 0 6px;font-size:14px;font-weight:700;line-height:1.45;padding:8px 10px;border-radius:10px;background:var(--soft);color:var(--ink)}
.dg .cd2 .wl.g{background:var(--dg-tg);color:var(--dg-g)}
.dg .cd2 .wl.o{background:var(--dg-to);color:var(--dg-o)}
.dg .cd2 .gv b{font-size:20px}
.dg .cd2 .nl{margin:6px 0 0;font-size:12.5px;color:var(--dg-o)}
.dg .cd2 .btns{margin-top:10px}
.dg .cd2 .dbtn.sm{padding:6px 10px;font-size:12.5px;background:none}
.dg .cd2 .src{margin-top:8px;font-size:11.5px;color:var(--sub)}
.dg .cd2 .src .lnk{font-size:11.5px;color:var(--dg-b);text-decoration:underline}
/* 대학별 분포 막대 */
.dg .ubar{margin:12px 0 4px}
.dg .ubar .row{display:grid;grid-template-columns:minmax(64px,108px) 1fr 86px;gap:8px;align-items:center;width:100%;border:0;background:none;padding:3px 0;cursor:pointer;color:var(--ink);text-align:left;font:inherit}
.dg .ubar .row:hover .nm,.dg .ubar .row[aria-pressed="true"] .nm{color:var(--dg-b);font-weight:800}
.dg .ubar .nm{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg .ubar .tr{position:relative;height:16px;background:var(--soft);border-radius:8px}
.dg .ubar .tr .zero{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);left:50%}
.dg .ubar .tr .rg{position:absolute;top:4px;height:8px;border-radius:4px;background:var(--dg-b);opacity:.35}
.dg .ubar .tr .dt,.dg .upan .tr .dt{position:absolute;top:4px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--gray-dot);opacity:.7}
.dg .ubar .tr .dt.on,.dg .upan .tr .dt.on{background:var(--dg-b);opacity:1}
.dg .ubar .tr .band{position:absolute;top:0;bottom:0;background:var(--dg-tb);border-radius:8px}
.dg .ubar .tr .ovl,.dg .ubar .tr .ovr{position:absolute;top:0;font-size:10px;line-height:16px;color:var(--sub)}
.dg .ubar .tr .ovl{left:2px} .dg .ubar .tr .ovr{right:2px}
.dg .upan{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.dg .upan .ur{display:grid;grid-template-columns:minmax(90px,1.3fr) 1fr minmax(110px,1fr);gap:8px;align-items:center;width:100%;border:0;border-top:1px solid var(--line);background:none;padding:7px 0;text-align:left;font:inherit;color:var(--ink);cursor:pointer}
.dg .upan .ur:hover .un{color:var(--dg-b)}
.dg .upan .un{font-size:13px;font-weight:700}
.dg .upan .un small{display:block;font-weight:500;color:var(--sub);font-size:11px}
.dg .upan .tr{position:relative;height:16px;background:var(--soft);border-radius:8px}
.dg .upan .tr .zero{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);left:50%}
.dg .upan .uv{font-size:12.5px;font-weight:700} .dg .upan .uv.g{color:var(--dg-g)} .dg .upan .uv.b{color:var(--dg-b)} .dg .upan .uv.r{color:var(--dg-r)}
.dg .upan .ax2{display:grid;grid-template-columns:minmax(90px,1.3fr) 1fr minmax(110px,1fr);gap:8px;font-size:11px;color:var(--sub);margin-top:4px}
.dg .upan .ax2 span:nth-child(2){display:flex;justify-content:space-between}
.dg .ubar .n{font-size:12px;color:var(--sub);text-align:right}
.dg .ubar .ax{display:grid;grid-template-columns:minmax(64px,108px) 1fr 86px;gap:8px;font-size:11px;color:var(--sub)}
.dg .ubar .ax span:nth-child(2){display:flex;justify-content:space-between}

/* 빠른 시작(1차 개편 2026-10-22) */
.quick{border:2px solid var(--blue);background:var(--blue-soft,#eef4ff)}
.quick .qgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}
.quick .qf{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700}
.quick .qf input,.quick .qf select{width:100%;padding:8px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:16px;background:var(--card)}
@media (max-width:560px){ .quick .qgrid{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* 2차 시안: 규칙 설명·내 쪽에서 본 차이 */
.dg .cd2 .wl small{display:block;font-size:11.5px;font-weight:600;opacity:.8;margin-bottom:2px}
.dg .cd2 .wl b{display:block;font-size:14px;line-height:1.45}
.dg .cd2 .ml{margin:8px 0 0;font-size:15px;font-weight:800;line-height:1.4}
.dg .cd2 .ml.g{color:var(--dg-g)} .dg .cd2 .ml.b{color:var(--dg-b)} .dg .cd2 .ml.r{color:var(--dg-r)}
.dg .cd2 .ml small{font-size:11.5px;font-weight:600;color:var(--sub)}

.dg .upan .uv small{display:block;font-size:11px;font-weight:500;color:var(--sub)}

/* 3차 시안 카드 */
.dg .cd2 .wl{background:var(--dg-tb);color:var(--ink)}
.dg .cd2 .wl b{display:block;font-size:14.5px;color:var(--ink)}
.dg .cd2 .wl span{display:block;font-size:13px;font-weight:600;color:var(--dg-b);margin-top:2px}
.dg .cd2 .wl small{display:block;font-size:11px;font-weight:600;color:var(--sub);margin:4px 0 0;opacity:1}
.dg .cd2 .fl{margin:10px 0 4px;font-size:13px;color:var(--ink)}
.dg .cd2 .fl small{color:var(--sub);font-size:11px}
.dg .cd2 .mv2{margin:2px 0 0;font-size:12.5px;color:var(--ink)}
.dg .cd2 .mv2 small{color:var(--sub);font-size:11px}
.dg .cd2 .btns{align-items:center}
.dg .cd2 .src2{margin-left:auto;font-size:12px;color:var(--dg-b);text-decoration:underline;background:none;border:0;cursor:pointer}

.dg .ubar .n{white-space:nowrap}

.quick .qgrid.q2{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:560px){ .quick .qgrid.q2{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* 확정 구조(2026-10-22 밤): 카드 머리글·강조 상자·점수 문장 */
.dg .cd3 .cdh h3{font-size:18px;margin:2px 0 0;line-height:1.3}
.dg .cd3 .cdh h3 .rg{font-size:12px;font-weight:500;color:var(--sub);margin-left:4px}
.dg .cd3 .u2{font-size:15px;font-weight:700;color:var(--ink);margin-top:2px}
.dg .cd3 .u{font-size:12px;color:var(--sub);margin-top:2px}
.dg .cd3 .wl{margin:10px 0 8px;padding:10px 12px;border-radius:12px;background:var(--dg-tb)}
.dg .cd3 .wl b{display:block;font-size:14.5px;color:var(--ink);line-height:1.4}
.dg .cd3 .wl span{display:block;font-size:13px;font-weight:600;color:var(--dg-b);margin-top:3px;line-height:1.4}
.dg .cd3 .wl small{display:inline-block;margin-top:6px;font-size:11px;font-weight:700;color:var(--sub);background:var(--card);border-radius:6px;padding:1px 6px}
.dg .cd3 .sc1{margin:0;font-size:13px;color:var(--sub)}
.dg .cd3 .sc1 b{font-size:20px;color:var(--ink);margin-left:4px}
.dg .cd3 .sc2{margin:2px 0 0;font-size:14px;font-weight:700}
.dg .cd3 .sc2.g{color:var(--dg-g)} .dg .cd3 .sc2.b{color:var(--dg-b)} .dg .cd3 .sc2.r{color:var(--dg-r)}
.dg .cd3 .nl{margin:6px 0 0;font-size:12px;color:var(--dg-o)}
.dg .cd3 .btns{margin-top:10px}
.dg .cd3 .dbtn.sm{padding:6px 10px;font-size:12.5px;background:none}
/* 범위 한 줄 + 접는 상세 조건 */
.dg .rbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 4px}
.dg .rbar input[type=range]{flex:1 1 180px;min-width:140px}
.dg details.more{margin:4px 0 8px;font-size:13px}
.dg details.more summary{cursor:pointer;color:var(--dg-b);font-weight:700}
.dg details.more .lvh{margin:8px 0 0}
/* 결과 영역 머리 */
.dg .rhead{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 10px}
.dg .tbl.dgt td.g{color:var(--dg-g);font-weight:700} .dg .tbl.dgt td.b{color:var(--dg-b);font-weight:700} .dg .tbl.dgt td.r{color:var(--dg-r);font-weight:700}
/* 대학별 분포: PC·태블릿은 세로 점 분포, 모바일은 가로 줄 */
.dg .uviz{margin:12px 0 4px}
.dg .uvert{display:grid;grid-template-columns:62px 1fr;gap:6px}
.dg .uvert .yax{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:10.5px;color:var(--sub);text-align:right;height:220px;padding:2px 0}
.dg .uvert .yax b{color:var(--ink);font-size:12px}
.dg .uvert .cols{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}
.dg .uvert .cols .band{position:absolute;left:0;right:0;background:var(--dg-tb);border-radius:6px;pointer-events:none}
.dg .uvert .cols .zero{position:absolute;left:0;right:0;top:110px;height:2px;background:var(--ink);pointer-events:none}
.dg .uvert .col{position:relative;display:flex;flex-direction:column;align-items:center;border:0;background:none;padding:0;cursor:pointer;font:inherit;color:var(--ink);border-radius:8px}
.dg .uvert .col .plot{position:relative;display:block;width:100%;height:220px}
.dg .uvert .col .dt{position:absolute;left:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--gray-dot);opacity:.7}
.dg .uvert .col .dt.on{background:var(--dg-b);opacity:1}
.dg .uvert .col .ovt,.dg .uvert .col .ovb{position:absolute;left:0;right:0;text-align:center;font-size:10px;color:var(--sub)}
.dg .uvert .col .ovt{top:0} .dg .uvert .col .ovb{bottom:0}
.dg .uvert .col .nm{font-size:12px;font-weight:700;margin-top:6px;text-align:center;line-height:1.25;word-break:keep-all;min-height:30px}
.dg .uvert .col .n{font-size:11px;color:var(--sub)}
.dg .uvert .col:hover .nm,.dg .uvert .col[aria-pressed="true"] .nm{color:var(--dg-b)}
.dg .uvert .col[aria-pressed="true"]{background:var(--dg-tb)}
.dg .uviz .ubar{display:none}
@media (max-width:640px){ .dg .uviz .uvert{display:none} .dg .uviz .ubar{display:block} }

.quick .qgrid[hidden]{display:none!important}

/* 4차 수정(2026-10-22): 카드 차이 강조 · 꼬리표 · 내 점수 기준행 표 · 모바일 대학 행 · 세로 분포 범위 띠 좌표 */
.dg .cd3 .sc0{margin:0;font-size:12px;color:var(--sub)}
.dg .cd3 .sc1{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:2px 0 0;font-size:13.5px;color:var(--ink)}
.dg .cd3 .sc1 b{font-size:26px;line-height:1.15;margin:0;color:var(--sub)}
.dg .cd3 .sc1.up b{color:var(--dg-g)} .dg .cd3 .sc1.dn b{color:var(--dg-o)}
.dg .cd3 .sc1 span{font-weight:700}
.dg .cd3 .sc2{margin:2px 0 0;font-size:12.5px;font-weight:500;color:var(--sub)}
.dg .cd3 .ct{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.dg .cd3 .ct span{font-size:11px;color:var(--sub);background:var(--soft);border-radius:6px;padding:1px 6px}
.dg .tbl.dgm tr.me td{background:var(--dg-tb);font-weight:700;border-top:2px solid var(--dg-b);border-bottom:2px solid var(--dg-b)}
.dg .tbl.dgm tr.eq td{background:var(--dg-tb)}
.dg .tbl.dgm tr.mo td{text-align:center;padding:4px}
.dg .tbl.dgm td.n small{font-weight:500}
.dg .uvert .cols .lay{position:absolute;left:0;right:0;top:0;height:220px;pointer-events:none}
.dg .uvert .cols .lay .zero{top:50%;margin-top:-1px}
.dg .uviz .howto{margin:0 0 6px}
.dg .uviz .howto summary{font-size:12px;color:var(--sub);cursor:pointer}
@media (max-width:640px){
  .dg .ubar .row{display:block;padding:8px 10px;border-radius:10px;margin:0 0 4px}
  .dg .ubar .row[hidden]{display:none}
  .dg .ubar .row[aria-pressed="true"]{background:var(--dg-tb)}
  .dg .ubar .row .hd{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}
  .dg .ubar .row .nm{font-size:14px;font-weight:700}
  .dg .ubar .row .n{font-size:12px;white-space:nowrap}
  .dg .ubar .trw{display:grid;grid-template-columns:24px 1fr 24px;gap:4px;align-items:center}
  .dg .ubar .trw .ov{font-size:10px;color:var(--sub);text-align:center;white-space:nowrap}
  .dg .ubar .tr{height:20px}
  .dg .ubar .tr .dt{top:6px}
  .dg .ubar .ax{grid-template-columns:24px 1fr 24px;gap:4px;padding:0 10px;margin-top:2px}
  .dg .ubar .umore{display:block;margin:8px auto 0}
}

/* 모바일 결과 영역(사용자 시안 2026-10-22) */
.dg .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dg .msec .mrow{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--line)}
.dg .msec .mcond{flex:1 1 auto;min-width:0}
.dg .msec .mtl{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 8px}
.dg .msec .mtl h2{font-size:17px;margin:0}
.dg .msec .mtl h2 small{font-size:12px;font-weight:500;color:var(--sub)}
.dg .msec .mchip{flex:none;border:0;border-radius:10px;background:var(--dg-tb);color:var(--dg-b);font:inherit;font-size:13px;font-weight:700;padding:7px 10px;cursor:pointer}
.dg .msec .mrp{margin:0 0 10px;padding:10px;border:1px solid var(--line);border-radius:12px}
.dg .msec .mtab{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dg .msec .msub{margin:6px 0 8px}
.dg .cdm{padding:12px 14px;border-radius:14px;margin:0 0 8px}
.dg .cdm .cdh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;width:100%;border:0;background:none;padding:0;text-align:left;font:inherit;color:var(--ink);cursor:pointer}
.dg .cdm .cdh .t{font-size:15px;line-height:1.35;min-width:0}
.dg .cdm .cdh .t b{font-weight:800}
.dg .cdm .cdh .g{flex:none;font-size:12px;color:var(--sub)}
.dg .cdm .ft{margin:4px 0 0;font-size:13px;color:var(--ink)}
.dg .cdm .ft small{color:var(--sub);font-size:11px}
.dg .cdm .sr{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:4px 0 8px}
.dg .cdm .sr>b{font-size:24px;line-height:1.2;color:var(--sub)}
.dg .cdm .sr>b.up{color:var(--dg-g)} .dg .cdm .sr>b.dn{color:var(--dg-o)}
.dg .cdm .mx{font-size:12px;color:var(--sub);text-align:right}
.dg .cdm .mx b{color:var(--ink);font-size:13px;margin-left:2px}
.dg .cdm .btns{margin:0}
.dg .msec .mmore{display:block;width:100%;margin:4px 0 0;padding:12px;border:0;border-radius:12px;background:var(--soft);color:var(--sub);font:inherit;font-size:14px;cursor:pointer}
.dg .msec .mout{display:block;margin:10px auto 0}
.dg .msec .mrow{flex-wrap:nowrap}
.dg .msec .mrow>.lnk{flex:none;font-size:13px}
.dg .msec .mcond .cbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;background:none;border:0;padding:0;margin:0;font-size:13px}
.dg .msec .mcond .cbar .bd{background:none;padding:0;font-weight:800;color:var(--ink);font-size:13px}
.dg .msec .mcond .cbar .bd+.bd::before{content:'· ';font-weight:400;color:var(--sub)}
.dg .msec .mcond .cbar .dbtn{margin-left:2px!important;padding:2px 6px;font-size:12px;border-radius:8px}

/* 카드 구분 강화(사용자 지적 2026-10-22: 카드 경계가 잘 안 보임) */
.dg .cards .cd3,.dg .mcards .cdm{border:1px solid #cbd3df;box-shadow:0 1px 2px rgba(17,24,39,.06),0 6px 16px rgba(17,24,39,.07)}
.dg .cards{gap:16px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .dg .cards .cd3,:root:not([data-theme="light"]) .dg .mcards .cdm{border-color:#3a4560;box-shadow:0 4px 14px rgba(0,0,0,.35)}}
:root[data-theme="dark"] .dg .cards .cd3,:root[data-theme="dark"] .dg .mcards .cdm{border-color:#3a4560;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.dg .uvert .cols .lay .bl{position:absolute;right:4px;font-size:10.5px;font-weight:700;color:var(--dg-b);line-height:1;transform:translateY(2px)}
.dg .uvert .cols .lay .bl.b{transform:translateY(-12px)}
.dg .cd3 .dbtn.sm[aria-pressed="true"],.dg .cdm .dbtn.sm[aria-pressed="true"]{background:var(--dg-b);color:#fff;border-color:var(--dg-b)}

/* 목표 학과 코칭 그래프(2026-10-22) */
.dg .coach .seg2{margin:0 0 10px}
.dg .cbar2{margin:12px 0 6px}
.dg .cbar2 .trk{position:relative;display:flex;height:26px;border-radius:8px;background:var(--soft);overflow:visible}
.dg .cbar2 .sg{display:block;height:100%}
.dg .cbar2 .sg:first-child{border-radius:8px 0 0 8px}
.dg .cbar2 .sg.now{background:#9aa6b8}
.dg .cbar2 .tl{position:absolute;top:-6px;bottom:-6px;width:0;border-left:2px dashed var(--ink)}
.dg .cbar2 .tl em{position:absolute;top:-18px;transform:translateX(-50%);white-space:nowrap;font-style:normal;font-size:11px;font-weight:700;color:var(--ink)}
.dg .cbar2 .lg{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:12px;color:var(--sub)}
.dg .cbar2 .lg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}
.dg .cbar2 .lg i.now{background:#9aa6b8} .dg .cbar2 .lg i.tl{width:0;height:12px;border-left:2px dashed var(--ink);border-radius:0;position:static}
.dg .tbl.plan .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}

/* 진단 화면 구역(①~④) — 한 페이지 안에서 한 화면씩 넘겨 보는 구성(사용자 요청 2026-10-22) */
html:has(.dg .pg){scroll-snap-type:y proximity;scroll-padding-top:104px}
.dg .pnav{position:sticky;top:54px;z-index:4;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:4px;background:var(--bg);padding:6px 0;margin:0 0 6px}
.dg .pnav button{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--card);color:var(--sub);border-radius:999px;padding:7px 4px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.dg .pnav button i{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--soft);color:var(--sub);font-style:normal;font-size:11px}
.dg .pnav button[aria-current="true"]{border-color:var(--dg-b);color:var(--dg-b);background:var(--dg-tb)}
.dg .pnav button[aria-current="true"] i{background:var(--dg-b);color:#fff}
.dg .pg{scroll-snap-align:start;scroll-margin-top:104px;padding:10px 0 18px;margin:0 0 18px;border-bottom:2px dashed var(--line)}
.dg .pg:last-child{border-bottom:0}
@media (min-width:768px){ .dg .pg{min-height:calc(100dvh - 120px)} }
.dg .pgh{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:4px 0 10px}
.dg .pgh .no{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--dg-b);color:#fff;font-weight:800;font-size:15px;align-self:center}
.dg .pgh h2{margin:0;font-size:21px}
.dg .sumr{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:0 0 12px}
.dg .sumr>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;cursor:pointer;font-size:14px;list-style:none}
.dg .sumr>summary::-webkit-details-marker{display:none}
.dg .sumr .sumb{margin-top:12px}
.dg details.upd>summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;cursor:pointer;font-size:15px}
.dg details.upd[open]>summary{margin-bottom:12px}
.dg .two{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px}
@media (max-width:900px){ .dg .two{grid-template-columns:1fr} }
@media (max-width:640px){ .dg .pnav{top:54px} .dg .pnav button{font-size:12px;padding:6px 2px} .dg .pnav button i{display:none} .dg .pgh h2{font-size:18px} }
.dg .cbar2 .nums{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-top:6px;font-size:12.5px;color:var(--sub)}
.dg .cbar2 .nums b{color:var(--ink);font-size:14px}
.dg .cbar2 .nums .tg b{color:var(--ink)} .dg .cbar2 .nums .rs b{color:var(--dg-b)}
.dg .stp.auto{border:1px dashed var(--dg-b);border-radius:14px;padding:10px;text-align:center;background:var(--dg-tb)}
.dg .stp.auto .lb{font-size:12px;color:var(--dg-b);font-weight:700}
.dg .stp.auto .v{font-size:18px;font-weight:800;margin-top:6px}
/* 코칭 그래프 v3: 막대 위 내 점수·목표 숫자를 그 위치에 */
.dg .coach .qh.big2{font-size:18px}
.dg .dtitle{margin:0;font-size:20px} .dg .dtitle span{font-size:16px;color:var(--sub);font-weight:700}
.dg .cbar2 .tops{position:relative;height:34px}
.dg .cbar2 .tops.bot{height:30px;margin-top:4px}
.dg .cbar2 .mk{position:absolute;bottom:2px;transform:translateX(-50%);text-align:center;white-space:nowrap;line-height:1.15}
.dg .cbar2 .tops.bot .mk{top:0;bottom:auto}
.dg .cbar2 .mk.l{transform:none} .dg .cbar2 .mk.r{transform:translateX(-100%)}
.dg .cbar2 .mk b{display:block;font-size:13px}
.dg .cbar2 .mk small{display:block;font-size:10.5px;color:var(--sub)}
.dg .cbar2 .mk.me b{color:#5b6474} .dg .cbar2 .mk.tg b{color:var(--ink)}
.dg .tbl.plan .mbs{display:inline-flex;gap:2px;margin-left:6px;vertical-align:middle}
.dg .tbl.plan .mb{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:6px;padding:1px 6px;font:inherit;font-size:12px;cursor:pointer;min-width:26px}
.dg .tbl.plan .mb:hover{border-color:var(--dg-b);color:var(--dg-b)}
.dg .coach .gapn{font-size:24px;color:var(--dg-r);font-weight:900;letter-spacing:-.5px}
.dg .cbar2 .mk b{font-size:15px;font-weight:900}
.dg .cbar2 .mk.me b{color:#3f4a5c} .dg .cbar2 .mk.tg b{color:var(--ink)}
.dg .cbar2 .tops{height:40px}

/* 태블릿·PC 한 화면 배치(768px 이상, 사용자 요청 2026-10-22): 구역마다 화면 높이에 맞추고 넘치는 칸만 안에서 스크롤 */
@media (min-width:768px){
  .dg .pg{min-height:calc(100dvh - 112px);display:flex;flex-direction:column}
  /* ① 왼쪽 조건·범위·대학 분포 / 오른쪽 학과 목록 */
  .dg .p1sec{padding:12px}
  .dg .p1grid{display:grid;grid-template-columns:minmax(300px,0.9fr) minmax(0,1.1fr);gap:14px;height:calc(100dvh - 250px);min-height:480px}
  .dg .p1l,.dg .p1r{overflow:auto;min-height:0;padding-right:4px}
  .dg .p1r .rhead{position:sticky;top:0;z-index:2;background:var(--card);margin:0 0 10px;padding:4px 0 8px;border-bottom:1px solid var(--line)}
  .dg .p1r .cards{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}
  .dg .p1l details.upd{margin:12px 0 0;box-shadow:none}
  /* 대학 분포는 왼쪽 칸 폭에 맞춰 대학별 가로 줄로 */
  .dg .p1l .uviz .uvert{display:none} .dg .p1l .uviz .ubar{display:block}
  .dg .p1l .ubar .row{display:block;padding:7px 10px;border-radius:10px;margin:0 0 3px}
  .dg .p1l .ubar .row[hidden]{display:none}
  .dg .p1l .ubar .row[aria-pressed="true"]{background:var(--dg-tb)}
  .dg .p1l .ubar .row .hd{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:5px}
  .dg .p1l .ubar .row .nm{font-size:14px;font-weight:700}
  .dg .p1l .ubar .row .n{font-size:12px;white-space:nowrap}
  .dg .p1l .ubar .trw{display:grid;grid-template-columns:24px 1fr 24px;gap:4px;align-items:center}
  .dg .p1l .ubar .trw .ov{font-size:10px;color:var(--sub);text-align:center;white-space:nowrap}
  .dg .p1l .ubar .tr{height:18px} .dg .p1l .ubar .tr .dt{top:5px}
  .dg .p1l .ubar .ax{grid-template-columns:24px 1fr 24px;gap:4px;padding:0 10px;margin-top:2px}
  .dg .p1l .ubar .umore{display:block;margin:8px auto 0}
  /* ② 두 열, 오른쪽(반영 방식·연도별 입결·같은 대학)만 칸 안에서 스크롤 */
  .dg .two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .dg #dg-p2 .two>div:last-child{max-height:calc(100dvh - 330px);min-height:360px;overflow:auto;padding-right:4px}
  /* ③ 왼쪽 부족분·그래프·설명 / 오른쪽 과목별 목표 표·조합·근거 */
  .dg .coach .c2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:start}
  .dg .coach .cr{max-height:calc(100dvh - 300px);overflow:auto;padding-right:4px}
  .dg .coach .cr .tbl.plan td,.dg .coach .cr .tbl.plan th{padding:6px 6px}
  /* ④ 담은 학과를 가로로 나란히, 넘치면 옆으로 넘겨 보기 */
  .dg #dg-s4 .cmp{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px}
  .dg #dg-s4 .cmp .col{flex:0 0 300px;scroll-snap-align:start}
}
@media (min-width:768px) and (max-width:900px){ .dg .two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} .dg .coach .c2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
@media (min-width:768px){ .dg #dg-p3 .sec+.sec{max-height:200px;overflow:auto} .dg .tbl.plan td small.note{display:block;font-size:11px} }

/* 화면 전환 구조(사용자 요청 2026-10-22): 한 번에 한 화면, 화면 높이 = --dgScr(브라우저 − 머리글 − 메뉴 − 탭바). 필요한 칸만 스크롤 */
html:has(.dg .pg){scroll-snap-type:none}
.dg .pg{scroll-snap-align:none;border-bottom:0;margin:0;padding:4px 0 0}
.dg .itabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 10px;padding-bottom:6px}
.dg .itabs button{border:1px solid var(--line);background:var(--card);color:var(--sub);border-radius:999px;padding:5px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.dg .itabs button[aria-selected="true"]{border-color:var(--dg-b);background:var(--dg-tb);color:var(--dg-b)}
.dg .pnav button[aria-selected="true"]{border-color:var(--dg-b);color:var(--dg-b);background:var(--dg-tb)}
.dg .pnav button[aria-selected="true"] i{background:var(--dg-b);color:#fff}
@media (min-width:768px){
  .dg .pg{height:var(--dgScr,calc(100dvh - 130px));min-height:0;display:flex;flex-direction:column;overflow:hidden}
  .dg .pg>.pgh,.dg .pg>.sumr{flex:none}
  .dg .pg>.sumr{margin-bottom:8px}
  .dg .pg>.sec{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;margin:0}
  /* ① 왼쪽 조건·범위·분포 / 오른쪽 탭(학과 목록·점수가 오르면·비슷한 학과) — 목록만 스크롤 */
  .dg .p1sec>.p1grid{flex:1 1 auto;height:auto;min-height:0}
  .dg .p1l{overflow:auto}
  .dg .p1r{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding-right:0}
  .dg .p1r>.itabs{flex:none}
  .dg .p1r>.ipane{flex:1 1 auto;min-height:0;overflow:auto;padding-right:4px}
  .dg .p1r .ipane details.upd{margin:0;box-shadow:none;border:0;padding:0}
  /* ② 고르기 + 두 열(오른쪽 탭 내용만 스크롤) */
  .dg .pg>.sec>.tpick,.dg .pg>.sec>.meta{flex:none}
  .dg .pg>.sec>.two{flex:1 1 auto;min-height:0}
  .dg .two>div:first-child{overflow:auto}
  .dg #dg-p2 .two>div:last-child{max-height:none;min-height:0}
  .dg .p2r{display:flex;flex-direction:column;min-height:0;overflow:hidden}
  .dg .p2r>.itabs{flex:none;margin-top:12px}
  .dg .p2r>.ipane{flex:1 1 auto;min-height:0;overflow:auto;padding-right:4px}
  /* ③ 제목 + 코칭 두 칸(오른쪽 표·조합·근거만 스크롤) */
  .dg #dg-p3>.sec>.dtitle,.dg #dg-p3>.sec>.note2,.dg #dg-p3>.sec>p{flex:none}
  .dg #dg-p3 .coach{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
  .dg #dg-p3 .coach>.c2{flex:1 1 auto;min-height:0;grid-template-rows:minmax(0,1fr)}
  .dg #dg-p3 .coach .cl{overflow:auto;min-height:0}
  .dg .coach .cr{max-height:none;min-height:0;overflow:auto;align-self:stretch}
  .dg #dg-p3 .sec+.sec{max-height:none}
  /* ④ 비교: 화면 안에서 스크롤 */
  .dg #dg-p4>.sec{overflow:auto}
}
@media (min-width:768px){
  .dg .p1l{display:flex;flex-direction:column;overflow:hidden}
  .dg .p1l>*{flex:none}
  .dg .p1l>.uviz{flex:1 1 auto;min-height:140px;display:flex;flex-direction:column}
  .dg .p1l>.uviz>*{flex:none}
  .dg .p1l>.uviz>.ubar{flex:1 1 auto;min-height:0;overflow:auto;margin:6px 0 0}
  .dg .p1l>.rbar{margin-bottom:6px}
}

/* 가독성(사용자 요청 2026-10-22): 남는 공간에 핵심 숫자·본문·표·조절 버튼을 키운다(정보 추가 없음) */
.dg .dhd{margin:10px 0 8px}
.dg .stat3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 4px}
.dg .stat3>div{background:var(--soft);border-radius:14px;padding:12px 14px}
.dg .stat3 span{display:block;font-size:13px;color:var(--sub);font-weight:700}
.dg .stat3 b{display:block;font-size:26px;line-height:1.2;margin-top:4px;color:var(--ink)}
.dg .stat3 small{display:block;font-size:12px;color:var(--sub);margin-top:2px}
.dg .stat3 .up b{color:var(--dg-g)} .dg .stat3 .dn b{color:var(--dg-o)}
.dg .tbl.plan td:first-child{white-space:nowrap}
.dg .tbl.plan td:first-child small.note{display:block;white-space:nowrap}
@media (min-width:768px){
  .dg .dtitle{font-size:26px} .dg .dtitle span{font-size:19px}
  .dg .stat3 b{font-size:32px}
  .dg #dg-p2 .p2r .tbl.dt{font-size:15.5px} .dg #dg-p2 .p2r .tbl.dt td,.dg #dg-p2 .p2r .tbl.dt th{padding:10px 8px}
  .dg #dg-p2 .p2r .mv{font-size:15px;padding:8px 0}
  .dg #dg-p2 .p2r .ipane .note2{font-size:14px}
  .dg #dg-p2 .acts button{font-size:16px;padding:14px 10px}
  .dg #dg-p3 .coach .qh.big2{font-size:21px} .dg #dg-p3 .coach .gapn{font-size:32px}
  .dg #dg-p3 .coach .note2{font-size:14px;line-height:1.55}
  .dg #dg-p3 .cbar2 .trk{height:38px;border-radius:10px} .dg #dg-p3 .cbar2 .tops{height:46px}
  .dg #dg-p3 .cbar2 .mk b{font-size:17px} .dg #dg-p3 .cbar2 .mk small{font-size:12px} .dg #dg-p3 .cbar2 .lg{font-size:13.5px}
  .dg #dg-p3 .tbl.plan{font-size:15.5px} .dg #dg-p3 .tbl.plan td,.dg #dg-p3 .tbl.plan th{padding:12px 6px}
  .dg #dg-p3 .tbl.plan .mb{min-width:36px;padding:5px 8px;font-size:14px;border-radius:8px}
  .dg #dg-p3 .tbl.plan .dbtn.sm{font-size:13.5px;padding:7px 10px}
  .dg #dg-p3 .coach .c2{grid-template-columns:minmax(0,0.95fr) minmax(0,1.25fr)}
  .dg #dg-p3 .coach .seg2 button{font-size:14px;padding:7px 12px}
}
/* 태블릿·PC 진단 화면: 위쪽 머리 영역을 한 줄로(바깥 스크롤 없게) */
@media (min-width:768px){
  body:has(.dg .pg) .res-head{align-items:center;margin-bottom:4px}
  body:has(.dg .pg) .res-head h1{font-size:20px;margin:0}
  body:has(.dg .pg) .res-head .lead{display:none}
  body:has(.dg .pg) .res-head .trust{margin:4px 0 0}
  .dg .pg>.pgh{margin:2px 0 6px} .dg .pg>.pgh h2{font-size:19px}
  .dg .pnav{margin:0 0 2px;padding:4px 0}
}
@media (min-width:768px){
  body:has(.dg .pg) main.wrap{padding-bottom:6px}
  body:has(.dg .pg) .foot{padding:2px 0 6px;font-size:11.5px;line-height:1.4}
  body:has(.dg .pg) .res-head{margin-top:6px}
}
@media (min-width:768px){
  .dg .stat3 b{font-size:27px;white-space:nowrap;letter-spacing:-.5px}
  .dg .stat3>div{padding:10px 12px;min-width:0}
  .dg #dg-p2 .acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .dg #dg-p2 .acts button{font-size:15px;padding:12px 6px;white-space:nowrap;margin:0}
  .dg #dg-p2 .dhd{margin:4px 0 4px}
}
@media (min-width:1100px){ .dg .stat3 b{font-size:32px} }
@media (min-width:768px){
  .dg .stat3{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr)}
  .dg .stat3 b{font-size:clamp(20px,2.5vw,32px)}
  .dg #dg-p2 .two>div:first-child{overflow-x:hidden}
}
@media (min-width:768px){
  .dg #dg-p3 .coach .c2{grid-template-columns:minmax(0,0.85fr) minmax(0,1.35fr)}
  .dg #dg-p3 .tbl.plan .mbs{display:flex;margin:6px 0 0;gap:4px;justify-content:flex-end}
  .dg #dg-p3 .tbl.plan td.n{white-space:nowrap}
  .dg #dg-p3 .tbl.plan td:last-child .dbtn.sm{white-space:normal;line-height:1.25;max-width:96px}
  .dg #dg-p3 .cr .scroll{overflow-x:visible}
}
@media (min-width:768px){
  .dg #dg-p3 .coach .qh.big2{font-size:18px} .dg #dg-p3 .coach .gapn{font-size:26px}
  .dg #dg-p3 .cbar2 .tops{height:40px} .dg #dg-p3 .cbar2 .tops.bot{height:36px}
  .dg #dg-p3 .coach .note2{font-size:13.5px;line-height:1.5}
}
/* ④ 비교: 칸 폭 고정(300px) 대신 화면 폭을 담은 학과 수로 나눈다(1024px에서 4칸이 잘리던 문제 — 사용자 지적 2026-10-22). 좁으면 줄바꿈 */
@media (min-width:768px){
  .dg #dg-s4 .cmp{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));overflow-x:hidden;scroll-snap-type:none}
  .dg #dg-s4 .cmp .col{flex:none;min-width:0}
}

/* ④ 학과 비교 재설계(2026-10-22): 위치 그래프 + 비교표 */
.dg .cpos{margin:8px 0 14px}
.dg .cpos .tr{position:relative;height:46px;border-radius:12px;background:linear-gradient(90deg,var(--dg-tb),var(--soft) 50%,var(--dg-tr))}
.dg .cpos .zero{position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:var(--ink)}
.dg .cpos .pt{position:absolute;top:50%;transform:translate(-50%,-50%)}
.dg .cpos .pt i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--c);color:#fff;font-style:normal;font-weight:900;font-size:14px;box-shadow:0 0 0 3px var(--card)}
.dg .cpos .pt.r1{top:calc(50% - 15px)} .dg .cpos .pt.r0+.pt.r1{z-index:1}
.dg .cpos .ax{display:flex;justify-content:space-between;font-size:12px;color:var(--sub);margin-top:6px} .dg .cpos .ax b{color:var(--ink)}
.dg .cmpt{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.dg .cmpt th,.dg .cmpt td{padding:10px 10px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:center}
.dg .cmpt tbody th{width:118px;text-align:left;font-size:13px;color:var(--sub);font-weight:700;background:var(--card);position:sticky;left:0;z-index:1}
.dg .cmpt thead th:first-child{width:118px}
.dg .cmpt thead th[scope="col"]{background:var(--t);border-radius:14px 14px 0 0;position:relative;padding-top:12px}
.dg .cmpt thead .lt{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--c);color:#fff;font-weight:900;font-size:13px}
.dg .cmpt thead b{display:block;font-size:17px;margin-top:4px}
.dg .cmpt thead small{display:block;font-size:13px;color:var(--sub);font-weight:500;line-height:1.3}
.dg .cmpt thead .cmpx{position:absolute;right:8px;top:8px}
.dg .cmpt td small{display:block;font-size:12px;color:var(--sub);margin-top:2px}
.dg .cmpt td>b{font-size:18px}
.dg .cmpt .cd{font-size:24px;display:block} .dg .cmpt .cd.up{color:var(--dg-g)} .dg .cmpt .cd.dn{color:var(--dg-o)} .dg .cmpt .cd.eq{color:var(--sub)}
.dg .cmpt .ft{font-size:13.5px;line-height:1.4}
.dg .cmpt .sb div{display:grid;grid-template-columns:30px 1fr 34px;align-items:center;gap:6px;font-size:12.5px;margin-top:3px}
.dg .cmpt .sb i{height:8px;border-radius:4px;background:var(--soft);overflow:hidden;display:block} .dg .cmpt .sb em{display:block;height:100%;background:var(--c);border-radius:4px}
.dg .cmpt .sb b{text-align:right}
.dg .cmpt tbody tr:last-child td,.dg .cmpt tbody tr:last-child th{border-bottom:0}
@media (max-width:767px){ .dg .cmpw{overflow-x:auto} .dg .cmpt{min-width:640px} }
.dg .cmpt .cdf{font-size:24px;display:block;font-weight:900} .dg .cmpt .cdf.up{color:var(--dg-g)} .dg .cmpt .cdf.dn{color:var(--dg-o)} .dg .cmpt .cdf.eq{color:var(--sub)}
.dg .cpos .tr{height:56px}
.dg .cpos .pt{display:flex;flex-direction:column;align-items:center;gap:2px;top:8px;transform:translateX(-50%)}
.dg .cpos .pt em{font-style:normal;font-size:11px;font-weight:800;color:var(--c);background:var(--card);border-radius:6px;padding:0 4px;white-space:nowrap}
.dg .cmpt th,.dg .cmpt td{padding:8px 8px}
.dg .cmpt thead th[scope="col"]{padding-top:10px;padding-bottom:8px}
.dg .cmpt thead th{position:sticky;top:0;z-index:2} .dg .cmpt thead th:first-child{background:var(--card);z-index:3}

/* 모바일 ④ 비교(767px 이하): 항목 탭 + 학과 한 줄씩(옆으로 넘기지 않음) */
.dg .cml{display:flex;flex-direction:column;gap:8px}
.dg .cmr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 24px;align-items:center;gap:8px;background:var(--t);border-radius:14px;padding:10px 10px 10px 12px}
.dg .cmr .who{display:flex;align-items:center;gap:8px;border:0;background:none;padding:0;text-align:left;font:inherit;color:var(--ink);cursor:pointer;min-width:0}
.dg .cmr .who .lt{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--c);color:#fff;font-weight:900;font-size:13px}
.dg .cmr .who b{display:block;font-size:15px} .dg .cmr .who small{display:block;font-size:12px;color:var(--sub);line-height:1.3}
.dg .cmr .val{text-align:right;font-size:13.5px;min-width:0} .dg .cmr .val small{display:block;font-size:11.5px;color:var(--sub)}
.dg .cmr .val .cdf{font-size:22px} .dg .cmr .val.w{text-align:left}
.dg .cmr .sb div{display:grid;grid-template-columns:28px 1fr 26px;align-items:center;gap:4px;font-size:12px;margin-top:2px}
.dg .cmr .sb i{height:7px;border-radius:4px;background:var(--card);display:block;overflow:hidden} .dg .cmr .sb em{display:block;height:100%;background:var(--c)}
.dg .cmr .cmpx{font-size:18px}
/* ④ 위치 그래프: '내 점수' 선 위치(축이 담은 학과 범위에 맞춰 움직임)에 이름표 */
.dg .cpos .tr{background:linear-gradient(90deg,var(--dg-tb),var(--soft) var(--z,50%),var(--dg-tr))}
/* 점 위치 = 표시값(카드와 같은 숫자), 같은 값은 위아래로 쌓음(높이는 spreadPts 가 정함) · 눈금·단위 표기(검토 의견 2026-10-22) */
.dg .cpos .cu{margin:0 0 4px;font-size:11.5px;color:var(--sub)}
.dg .cpos .tr{height:44px}
.dg .cpos .tk{position:absolute;top:0;bottom:0;width:1px;background:rgba(17,24,39,.12)}
.dg .cpos .pt{top:7px}
.dg .cpos .pt i{width:26px;height:26px;font-size:13px}
.dg .cpos .tks{position:relative;height:16px;margin-top:3px;font-size:11px;color:var(--sub)}
.dg .cpos .tks>*{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.dg .cpos .tks b{font-size:12px;color:var(--ink)}
.dg .cpos .ax{margin-top:2px}
.dg .sugb{display:flex;align-items:baseline;gap:6px;margin:0 0 8px;font-size:12.5px;color:var(--sub);line-height:1.45}
.dg .sugb .bd{flex:none}
.dg em.sg{font-style:normal;font-size:10.5px;font-weight:800;color:var(--dg-o);background:var(--dg-to);border-radius:6px;padding:0 5px;margin-left:5px;vertical-align:2px}

/* 모바일 전용(640px 이하, 갤럭시 S25 = 360×780 CSS px 기준 — 사용자 지시 2026-10-22). 태블릿 배치를 줄이지 않고 화면마다 따로 짠다 */
@media (max-width:640px){
  /* 공통(검토 의견 2026-10-22: 첫 카드까지 너무 김): 머리 영역(제목·대학으로 보기·조건 수정)은 숨기고 메뉴를 맨 위로.
     조건 수정은 ① 조건 줄 한 곳, 대학으로 보기는 ① 목록 끝. 화면 제목(.pgh)도 메뉴와 겹쳐 숨김 */
  body:has(.dg .pg) .res-head{display:none}
  body:has(.dg .pg) main.wrap{padding-top:0}
  .dg .pnav{margin:0;padding:8px 0 6px}
  .dg .pnav button{padding:7px 2px;font-size:13px}
  .dg .pg>.pgh{display:none}
  .dg .pg>.sec{padding:12px}
  .dg .msec .mcond .cbar>.note:first-child{display:none}
  .dg .msec .mrow{align-items:center}
  .dg .msel{margin:6px 0 0;font-size:13px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .dg .msel .lnk{font-size:12.5px}
  .dg .msec .mtab .mchip{padding:6px 10px}
  .dg .msec .mout{font-size:13px}
  /* ① 내 성적 한 줄(펼치기 글자는 ▾로) */
  .dg .sumr{padding:8px 12px;margin:0 0 8px}
  .dg .sumr>summary{flex-wrap:nowrap;font-size:13px;gap:4px;white-space:nowrap;overflow:hidden}
  .dg .sumr>summary>.note:first-child{display:none}
  .dg .sumr>summary>.note:last-child{font-size:0;margin-left:auto!important}
  .dg .sumr>summary>.note:last-child::after{content:'▾';font-size:13px;color:var(--sub)}
  .dg .sumr[open]>summary>.note:last-child::after{content:'▴'}
  .dg .msec .mrow{padding-bottom:8px}
  .dg .msec .mtab{margin:8px 0 8px}
  .dg .msec .mtab .lnk{font-size:13px;white-space:nowrap}
  .dg .msec .msub{margin:8px 0 0;font-size:12px}
  /* ① 카드(사용자 확정 4줄: 대학·학과+일반·군 / 한 줄 요약 / 차이+내점수·입결 / 버튼) — 3줄째를 두 줄로 묶어 카드 높이 181→약 140px */
  .dg .cdm{padding:9px 12px;margin:0 0 7px}
  .dg .cdm .ft{font-size:12.5px;line-height:1.35;color:var(--sub);margin-top:2px}
  .dg .cdm .sr{align-items:center;margin:4px 0 6px}
  .dg .cdm .sr>b{font-size:22px;white-space:nowrap}
  .dg .cdm .mx{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}
  .dg .cdm .mx>span{white-space:nowrap;font-size:12.5px;color:var(--sub)}
  .dg .cdm .mx>span b{font-size:14px;margin:0}
  .dg .cdm .mx small{font-size:11px;white-space:nowrap}
  .dg .cdm .btns{display:grid;grid-template-columns:minmax(0,1fr) 92px 40px;gap:6px}
  .dg .cdm .btns button{margin:0;padding:5px 10px;font-size:13px;min-height:32px}
  /* ② 학과 고르기 접기 · 차이 크게 + 막대 두 줄 · 연도별 입결 줄 목록 */
  .dg .mpick{margin:0 0 6px;font-size:13px}
  .dg .mpick>summary{cursor:pointer;color:var(--dg-b);font-weight:700;text-align:right;list-style:none}
  .dg .mpick>summary::-webkit-details-marker{display:none}
  .dg .mpick>summary::after{content:' ▾'} .dg .mpick[open]>summary::after{content:' ▴'}
  .dg .mpick .tpick{margin-top:6px}
  .dg #dg-p2 .dhd{margin:0 0 6px}
  .dg #dg-p2 .dtitle{font-size:19px;line-height:1.3}
  .dg #dg-p2 .dtitle span{display:block;font-size:16px}
  .dg .mstat{background:var(--soft);border-radius:14px;padding:12px 14px;margin:8px 0 4px}
  .dg .mstat .gp{display:flex;align-items:baseline;gap:8px;margin:0 0 8px}
  .dg .mstat .gp b{font-size:30px;line-height:1.1;font-weight:900;color:var(--sub);white-space:nowrap}
  .dg .mstat .gp.up b{color:var(--dg-g)} .dg .mstat .gp.dn b{color:var(--dg-o)}
  .dg .mstat .gp span{font-size:13px;color:var(--sub);font-weight:700}
  .dg .mstat .br>div{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:4px 8px;margin-top:6px}
  .dg .mstat .br span{font-size:12.5px;color:var(--sub);font-weight:700;white-space:nowrap}
  .dg .mstat .br i{display:block;height:12px;border-radius:6px;background:var(--card);overflow:hidden}
  .dg .mstat .br em{display:block;height:100%;border-radius:6px}
  .dg .mstat .br .me em{background:#9aa6b8} .dg .mstat .br .pb em{background:var(--ink)}
  .dg .mstat .br b{font-size:16px;white-space:nowrap;text-align:right}
  .dg .mstat .br small{grid-column:2/4;font-size:11px;color:var(--sub);text-align:right;margin-top:-2px}
  .dg .mstat .g2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .dg .mstat .g2 span{display:block;font-size:12px;color:var(--sub);font-weight:700}
  .dg .mstat .g2 b{font-size:20px}
  .dg #dg-p2 .two{grid-template-columns:minmax(0,1fr)}
  .dg #dg-p2 .acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .dg #dg-p2 .acts button{margin:0;padding:10px 4px;font-size:13px;line-height:1.25;min-width:0}
  .dg #dg-p2 .p2r>.itabs{margin-top:14px}
  .dg #dg-p2 .itabs{flex-wrap:nowrap;overflow:hidden}
  .dg #dg-p2 .itabs button{padding:5px 10px;font-size:12.5px;white-space:nowrap}
  .dg .myr>div{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:baseline;gap:2px 8px;padding:8px 0;border-bottom:1px solid var(--line)}
  .dg .myr>div:last-child{border-bottom:0}
  .dg .myr .y{font-size:14px} .dg .myr .k{font-size:13px;color:var(--sub)} .dg .myr .v{font-size:17px;text-align:right}
  .dg .myr small{grid-column:2/4;font-size:12px;color:var(--sub)}
  /* ③ 목표 표 → 영역 덩어리(옆으로 넘기지 않음) · 조합 버튼 세 칸 */
  .dg .mplan{display:flex;flex-direction:column;gap:6px;margin-top:6px}
  .dg .mplan .pr{border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--card)}
  .dg .mplan .pr.eq{border-color:var(--dg-b);background:var(--dg-tb)}
  /* 고정 머리(.ptop) = 메뉴 + ③ 결과 한 줄 전용 칸(검토 의견 2026-10-22: 결과 띠가 카드·버튼 위에 떠서 덮지 않게 — 본문은 이 머리 아래로 지나감) */
  .dg .ptop{position:sticky;top:52px;z-index:5;background:var(--bg);padding:2px 0 6px}
  .dg .ptop .pnav{position:static;margin:0}
  .dg .msum{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;padding:8px 12px;border-radius:12px;background:#1f2937;color:#fff;border:1px solid rgba(255,255,255,.16);font-size:14px} /* 테마와 무관하게 짙은 배경 고정(다크모드에서 --ink 가 밝아져 대비 1.18:1 — Codex 101) */
  .dg .msum b{font-size:16px}
  .dg .msum .sep{opacity:.6}
  .dg .msum .lack b{color:#ffb3b5} .dg .msum .ok{color:#9ff0c9;font-weight:800}
  .dg .msum small{flex-basis:100%;font-size:12px;opacity:.85}
  .dg .mex{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
  .dg .mex .note2{margin:0 0 6px!important}
  .dg .mplan .h{display:flex;align-items:baseline;gap:6px}
  .dg .mplan .h b{font-size:15px} .dg .mplan .h small{font-size:11.5px;color:var(--sub)}
  .dg .mplan .h .c{margin-left:auto;font-weight:900;font-size:15px;white-space:nowrap}
  .dg .mplan .v{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:6px;font-size:14px}
  .dg .mplan .v b{font-size:16px}
  .dg .mplan .mbs{display:inline-flex;gap:4px;flex:none}
  .dg .mplan .mb{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;min-width:34px;padding:5px 6px;font:inherit;font-size:13px;cursor:pointer}
  .dg .mplan .sv{display:block;width:100%;margin:8px 0 0;padding:7px;font-size:12.5px}
  .dg .mplan .sv[aria-pressed="true"]{background:var(--dg-b);color:#fff;border-color:var(--dg-b)}
  .dg .mplan .pr.sum small{display:block;text-align:right;font-size:11px}
  .dg .mplan .h.rm{margin-top:6px;padding-top:6px;border-top:1px solid var(--line)} .dg .mplan .h.rm .c{color:var(--dg-r)}
  .dg .mplan .dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;align-self:center}
  .dg .mplan .sv{padding:5px;color:var(--dg-b)}
  .dg .coach .lvh{display:block}
  .dg .coach .lvh .seg2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:6px 0 8px}
  .dg .coach .lvh .seg2 button{white-space:normal;line-height:1.25;font-size:12.5px;padding:7px 4px}
  .dg #dg-p3 .dtitle{font-size:19px} .dg #dg-p3 .dtitle span{font-size:15px}
  .dg #dg-p3 .res{display:block;font-size:14px;line-height:1.5} .dg #dg-p3 .res b{font-size:17px;color:var(--dg-r)}
  .dg .cbar2 .mk small{font-size:10.5px}
  /* ④ 안내 한 줄 · 학과 이름이 두 줄로 갈라지지 않게 값 칸은 내용 폭만 */
  .dg .sugb{font-size:12px}
  .dg .cmr .who b{display:inline} .dg .cmr .who small{display:block}
  .dg .cmr{grid-template-columns:minmax(0,1fr) auto 22px;padding:10px}
  /* 글이 긴 항목(반영 방식·올리면·군·모집): 1줄 학교·학과 + ×, 2줄 값(전체 폭) */
  .dg .cmr.st{grid-template-columns:minmax(0,1fr) 22px;row-gap:6px}
  .dg .cmr.st .val{grid-column:1/2;grid-row:2;text-align:left;padding-left:32px}
  .dg .cmr.st .cmpx{grid-column:2;grid-row:1}
  .dg .cmr.st .who b,.dg .cmr.st .who small{display:inline}
  .dg .cmr.st .who small{margin-left:6px}
  .dg .cmr.st .sb div{grid-template-columns:32px 1fr 30px}
  .dg .cpos .ax{font-size:11px}
}
/* 태블릿 세로(768~900px): ③ 오른쪽 표가 칸보다 넓어(494 > 419px) 칸 안에서 옆으로 넘기던 문제 — 칸 비율·버튼·여백을 줄여 맞춘다(2026-10-22 실측) */
@media (min-width:768px) and (max-width:900px){
  .dg #dg-p3 .coach .c2{grid-template-columns:minmax(0,0.75fr) minmax(0,1.45fr);gap:14px}
  .dg #dg-p3 .tbl.plan td,.dg #dg-p3 .tbl.plan th{padding:8px 4px}
  .dg #dg-p3 .tbl.plan td:first-child,.dg #dg-p3 .tbl.plan td:first-child small.note{white-space:normal}
  .dg #dg-p3 .tbl.plan .mb{min-width:30px;padding:4px 5px;font-size:12.5px}
  .dg #dg-p3 .tbl.plan td:last-child .dbtn.sm{max-width:76px;font-size:12px;padding:6px 6px}
}
.dg .cmb{margin:0 0 6px;font-size:12.5px;color:var(--sub)} .dg .cmb b{color:var(--ink)}
.dg .cso{margin:0 0 8px;font-size:12px}
/* ④ ⓘ 접기(자동 제안·같은 기준) · 그래프에서 뺀 학과 표시 */
.dg details.sugb{display:block;margin:0 0 8px} .dg details.sugb>summary,.dg .cpos details.cu>summary{cursor:pointer;list-style:none;font-size:12.5px;color:var(--sub)}
.dg details.sugb>summary::-webkit-details-marker,.dg .cpos details.cu>summary::-webkit-details-marker{display:none}
.dg details.sugb p,.dg .cpos details.cu p{margin:6px 0 0;font-size:12px;color:var(--sub);line-height:1.5}
.dg .ii{color:var(--dg-b);font-weight:800}
.dg em.sg.ox{color:var(--sub);background:var(--soft)}
/* 공개 과목 성적으로 계산한 입결 표시 */
.dg .ctag,.ctag{display:inline-block;border:0;background:var(--soft);color:var(--sub);font:inherit;font-size:11px;font-weight:700;border-radius:6px;padding:1px 6px;margin:2px 0 0;cursor:pointer;white-space:nowrap}
.dg .cm{font-style:normal;display:inline-block;font-size:11px;color:var(--dg-o);background:var(--dg-to);border-radius:6px;padding:0 5px;margin-left:4px}
.dg details.cmd{display:block;margin-top:3px} .dg details.cmd>summary{display:inline-block;cursor:pointer;list-style:none;font-size:11px;font-weight:700;color:var(--dg-o);background:var(--dg-to);border-radius:6px;padding:0 6px}
.dg details.cmd>summary::-webkit-details-marker{display:none} .dg details.cmd>span{display:block;margin-top:4px;font-size:11.5px;color:var(--sub);line-height:1.45;white-space:normal}
.dg .cinfo{background:var(--dg-to);border-radius:10px;padding:8px 10px;margin:0 0 8px;font-size:12.5px;line-height:1.5} .dg .cinfo p{margin:2px 0 0}
/* ③ 막혔을 때 다음 선택지(한 줄 + 버튼) */
.dg .nxt{margin:10px 0 0;padding:10px 12px;border:1px dashed var(--dg-b);border-radius:12px;background:var(--dg-tb);font-size:13.5px}
.dg .nxt p{margin:0 0 8px;font-size:14px} .dg .nxt p b.lk{color:var(--dg-r)}
.dg .nxt .nb{display:flex;flex-direction:column;gap:6px;margin:0}
.dg .nxt .nb .dbtn{text-align:left;width:100%;background:var(--card);border-color:var(--dg-b);color:var(--ink);padding:8px 10px;font-size:13.5px}
.dg .nxt .nb .dbtn b{color:var(--dg-b)}
.dg .nxt small{display:block;color:var(--sub);font-size:11.5px;line-height:1.45}
/* 641~767px: 모바일 줄 목록이 아니라 비교표가 나오는 폭 — 표 최소 폭 640px 강제가 칸(최대 634px)보다 넓어 옆으로 넘기던 문제(Codex 102). 칸 폭에 맞춘다 */
@media (min-width:641px) and (max-width:767px){ .dg .cmpt{min-width:0} .dg .cmpt tbody th,.dg .cmpt thead th:first-child{width:96px} }
/* 모바일 '계산 근거': 표 대신 영역별 줄(옆으로 넘기지 않음) */
.dg .mev>div{display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}
.dg .mev>div:last-child{border-bottom:0} .dg .mev small{grid-column:2;color:var(--sub);font-size:12px}
/* 비교표 머리행 고정: 학과 머리셀의 position:relative 가 sticky 를 덮던 문제(검증 의견) */
.dg .cmpt thead th[scope="col"]{position:sticky;top:0;z-index:2}

/* 태블릿·PC(768px 이상) 한 방향 배치(사용자 지시 2026-10-22): 페이지 구분은 두고, 페이지 안의 강제 좌우 분할과
   '흰 상자 두 칸을 화면 높이만큼 늘리고 칸 안에서만 스크롤'하던 방식을 푼다 — 짧은 칸 아래가 통째로 비고 카드가 오른쪽 칸에만 갇히던 문제.
   ① 조건·범위 → 전체 폭 대학 분포 → 학과 목록 / ② 대학·학과 → 핵심 점수 → 탭 / ③ 부족분 → 전체 폭 그래프 → 과목별 조절 / ④ 비교표. 페이지는 내용만큼 스크롤 */
@media (min-width:768px){
  .dg .pg{height:auto!important;min-height:0!important;overflow:visible!important;display:block!important}
  .dg .pg>.sec{display:block!important;overflow:visible!important;min-height:0}
  /* ① */
  .dg .p1grid{display:block!important;height:auto!important;min-height:0!important}
  .dg .p1l,.dg .p1r{display:block!important;overflow:visible!important;max-height:none!important;padding-right:0!important}
  .dg .p1l>.uviz{display:block!important;margin-top:14px}
  .dg .p1l>.uviz>.ubar{overflow:visible!important;max-height:none!important}
  .dg .p1r{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
  .dg .p1r>.ipane{overflow:visible!important}
  .dg .p1r .rhead{position:static}
  .dg .p1r .cards{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}
  /* ② */
  .dg .two,.dg #dg-p2 .two{display:block!important}
  .dg .two>div:first-child,.dg #dg-p2 .two>div:last-child{overflow:visible!important;max-height:none!important;min-height:0!important}
  .dg .p2r{display:block!important;overflow:visible!important;margin-top:16px}
  .dg .p2r>.ipane{overflow:visible!important}
  /* ③ */
  .dg .coach .c2,.dg #dg-p3 .coach .c2{display:block!important}
  .dg .coach .cl,.dg #dg-p3 .coach .cl,.dg .coach .cr{overflow:visible!important;max-height:none!important}
  .dg #dg-p3 .cr .scroll{overflow-x:auto}
  .dg .mex{margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}
  .dg .mex .note2{margin:0 0 6px!important}
  .dg .nxt .nb{flex-direction:row;flex-wrap:wrap} .dg .nxt .nb .dbtn{width:auto}
  /* ④ */
  .dg #dg-p4>.sec{overflow:visible!important}
}

/* ===== 정시 진단 네 화면 개편(사용자 승인 시안 2026-10-22) ===== */
.dg{--dg-feat:#3a3fb8}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .dg{--dg-feat:#a9b0ff}}
:root[data-theme="dark"] .dg{--dg-feat:#a9b0ff}
.dg .pg>.pgh{display:none}
/* 뒤로 가기 두 갈래 */
.dg .xbk{display:flex;gap:8px;margin:0 0 10px}
.dg .bkb{border:1px solid var(--line);background:var(--card);color:var(--dg-b);border-radius:999px;padding:5px 12px;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer}
/* ① 위 상자(PC·태블릿): 내 성적 | 내 조건 */
.dg .xtop{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);padding:0;overflow:hidden}
.dg .xtop>div{padding:14px 18px;min-width:0}
.dg .xtop .cnd{background:var(--dg-tb);border-left:1px solid var(--line)}
.dg .xtop .hh{display:flex;align-items:center;gap:8px;margin:0 0 8px} .dg .xtop .hh b{font-size:16px} .dg .xtop .hh .dbtn{margin-left:auto}
.dg .xtop .rings{justify-content:flex-start;gap:14px;align-items:flex-start}
.dg .xtop .ring .lb small{font-weight:600;color:var(--sub);font-size:11px}
.dg .xtop .gp{display:flex;flex-direction:column;gap:6px;margin-left:auto;align-self:center}
.dg .xtop .gp span{background:var(--soft);border-radius:10px;padding:5px 10px;font-size:13px;white-space:nowrap} .dg .xtop .gp b{font-size:14.5px}
.dg .xtop dl{display:grid;grid-template-columns:76px minmax(0,1fr);gap:6px 8px;margin:0;font-size:14px;align-items:baseline}
.dg .xtop dt{color:var(--sub);font-size:13px} .dg .xtop dd{margin:0;font-weight:800;display:flex;flex-wrap:wrap;gap:4px} .dg .xtop dd.bl{color:var(--dg-b)}
.dg .xtop .cnt{margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:14px} .dg .xtop .cnt b{font-size:20px;color:var(--dg-b)}
.dg .xfilt{margin-top:8px} .dg .xfilt>summary{cursor:pointer;font-size:12.5px;font-weight:700;color:var(--dg-b)}
@media (min-width:768px){ .dg .pg>.sec.xtop{display:grid!important} } /* 한 방향 배치 규칙(.pg>.sec block)보다 우선 */
@media (max-width:900px){ .dg .xtop{grid-template-columns:1fr} .dg .xtop .cnd{border-left:0;border-top:1px solid var(--line)} }
/* 모바일 위 상자: 성적 한 줄 · 조건 한 줄 */
.dg .xtopm{padding:10px 12px}
.dg .xtopm .r{display:flex;align-items:center;gap:6px;font-size:13.5px}
.dg .xtopm .r+.r{margin-top:6px}
.dg .xtopm .r>.note{flex:none;white-space:nowrap;font-size:12px}
.dg .xtopm .xsc{display:block;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-size:13.5px} .dg .xtopm .xsc b{display:inline;font-size:14px;color:var(--ink)}
.dg .xtopm .mc{flex:1;min-width:0;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg .xtopm .dbtn{flex:none;margin-left:auto;padding:4px 8px;font-size:12.5px} .dg .xtopm .dbtn+.dbtn{margin-left:0}
/* 대학 분포(세로) + 오른쪽 세로 조절바 */
.dg .xdist .xdhead{display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap;margin:0 0 4px}
.dg .xdist .xdhead h2{margin:0;font-size:17px}
.dg .xdist .live{font-size:15px;font-weight:800} .dg .xdist .live b{color:var(--dg-b);font-size:17px} .dg .xdist .live small{color:var(--sub);font-weight:700;font-size:12.5px}
.dg .xdist .basis1{margin:0 0 6px;font-size:12.5px;color:var(--sub)} .dg .xdist .basis1 span{display:block} .dg .xdist .basis1 b{color:var(--ink)}
.dg .xdist .legend{display:flex;gap:4px 12px;flex-wrap:wrap;font-size:12px;color:var(--sub);margin:0 0 8px}
.dg .xdist .legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:-1px;background:var(--gray-dot)} .dg .xdist .legend i.on{background:var(--dg-b)}
.dg .xdv{display:grid;grid-template-columns:62px minmax(0,1fr) 96px;gap:0 10px;align-items:start}
.dg .xdv .yax{position:relative;height:300px;font-size:11.5px;color:var(--sub)}
.dg .xdv .yax span{position:absolute;right:4px;transform:translateY(-50%);white-space:nowrap}
.dg .xdv .plot{position:relative;height:300px;border-radius:12px;background:var(--bg);border:1px solid var(--line);overflow:hidden}
.dg .xdv .gl{position:absolute;left:0;right:0;border-top:1px dashed var(--line)}
.dg .xdv .band{position:absolute;left:0;right:0;background:var(--dg-tb);border-top:2px solid var(--dg-b);border-bottom:2px solid var(--dg-b);opacity:.9}
.dg .xdv .zero{position:absolute;left:0;right:0;border-top:2px solid var(--ink)}
.dg .xdv .cols{position:absolute;inset:0;display:grid}
.dg .xdv .col{position:relative;border:0;border-left:1px solid var(--line);background:none;padding:0;cursor:pointer}
.dg .xdv .col:first-child{border-left:0} .dg .xdv .col[aria-pressed="true"]{background:var(--dg-tb)}
.dg .xdv .dt{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--gray-dot);transform:translate(-50%,-50%)} .dg .xdv .dt.on{background:var(--dg-b)}
.dg .xdv .ov{position:absolute;left:50%;transform:translateX(-50%);font-size:10.5px;color:var(--sub);white-space:nowrap} .dg .xdv .ov.t{top:2px} .dg .xdv .ov.b{bottom:2px}
.dg .xdv .xlab{display:grid;margin-top:6px}
.dg .xdv .xlab button{border:0;background:none;color:var(--ink);text-align:center;font:inherit;font-size:12.5px;font-weight:800;line-height:1.25;padding:0 2px;cursor:pointer;min-width:0;overflow-wrap:anywhere}
.dg .xdv .xlab small{display:block;font-weight:600;color:var(--sub);font-size:11px} .dg .xdv .xlab button[aria-pressed="true"]{color:var(--dg-b)}
.dg .xdv .rng{position:relative;height:300px}
.dg .xdv .vtrack{position:absolute;left:8px;top:0;width:28px;height:300px;border-radius:14px;background:var(--soft)}
.dg .xdv .vband{position:absolute;left:4px;right:4px;border-radius:10px;background:var(--dg-b);opacity:.35}
.dg .xdv .vzero{position:absolute;left:-4px;right:-4px;border-top:2px solid var(--ink)}
.dg .xdv .hd{position:absolute;left:50%;transform:translate(-50%,-50%);touch-action:none;cursor:ns-resize}
.dg .xdv .hd.mid{width:30px;height:30px;border-radius:50%;background:var(--card);border:3px solid var(--dg-b);box-shadow:0 2px 6px rgba(0,0,0,.18);cursor:grab}
.dg .xdv .hd.end{width:36px;height:14px;border-radius:7px;background:var(--dg-b);border:2px solid var(--card);box-shadow:0 1px 4px rgba(0,0,0,.25)}
.dg .xdv .hd:focus{outline:3px solid var(--dg-tb);outline-offset:2px}
.dg .xdv .hv{position:absolute;left:42px;transform:translateY(-50%);font-size:12.5px;font-weight:900;color:var(--dg-b);white-space:nowrap;background:var(--card);border-radius:6px;padding:0 3px;pointer-events:none}
.dg .xdist .dpg{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px 0 0;font-size:13px;color:var(--sub)} .dg .xdist .dpg .dbtn:disabled{opacity:.4;cursor:default}
.dg .xdist .selline{margin:10px 0 0;font-size:13.5px} .dg .xdist .selline b{color:var(--dg-b)}
/* 학과 목록 · 카드 · 표 */
.dg .xlist .lhead{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;margin:0 0 10px}
.dg .xlist .lhead .seg2 button{font-size:13px;padding:5px 10px}
.dg .xmore{display:flex;gap:8px;justify-content:center;margin:12px 0 0;flex-wrap:wrap} .dg .xmore .dbtn{font-size:13px;padding:6px 12px}
.dg .xcd .xft{margin:10px 0 8px;padding:9px 12px;border-radius:12px;background:var(--dg-tb);font-size:13.5px;font-weight:800;color:var(--dg-feat);line-height:1.45}
.dg .xcd .xft small{display:block;margin-top:4px;font-size:11px;font-weight:700;color:var(--sub)}
.dg .xcd .xdf{display:flex;align-items:baseline;gap:8px;margin:0;white-space:nowrap}
.dg .xcd .xdf b{font-size:26px;line-height:1.15;color:var(--sub)} .dg .xcd .xdf.up b{color:var(--dg-g)} .dg .xcd .xdf.dn b{color:var(--dg-o)}
.dg .xcd .xdf span{font-size:14px;font-weight:800}
.dg .xcd .xsc{margin:2px 0 0;font-size:14px} .dg .xcd .xsc b{font-size:15px}
.dg .xcd .xms{margin:2px 0 0;font-size:12px;color:var(--sub)}
.dg .xcdm .l1{display:flex;align-items:baseline;gap:6px}
.dg .xcdm .l1 .cdh{flex:1;min-width:0;border:0;background:none;padding:0;text-align:left;font:inherit;font-size:15px;line-height:1.3;color:var(--ink);cursor:pointer;display:block}
.dg .xcdm .l1 .cdh b{font-weight:900} .dg .xcdm .rg{font-size:12px;color:var(--sub);font-weight:700}
.dg .xcdm .gn{flex:none;font-size:11.5px;color:var(--sub)}
.dg .xcdm .l2{margin:2px 0 0;font-size:12.5px;line-height:1.35;font-weight:800;color:var(--dg-feat);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dg .xcdm .l2 small{font-weight:600;color:var(--sub)}
.dg .xcdm .l2.l2s{font-weight:500;color:var(--sub);margin:-2px 0 6px} .dg .xcdm .l2.l2s b{color:var(--ink)}
.dg .xcdm .l3{display:flex;align-items:baseline;gap:6px;margin:3px 0 6px;font-size:13px;white-space:nowrap;overflow:hidden}
.dg .xcdm .l3>b{font-size:18px;font-weight:900;color:var(--sub)} .dg .xcdm .l3>b.up{color:var(--dg-g)} .dg .xcdm .l3>b.dn{color:var(--dg-o)}
.dg .xcdm .l3 small{font-size:10.5px;color:var(--sub)} .dg .xcdm .l3 .was{color:var(--sub);font-size:12.5px}
.dg .xcdm .l3 .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dg .xcdm .l3 .ctag{margin:0}
.dg .xlt{width:100%;table-layout:fixed;border-collapse:collapse;font-size:14px}
.dg .xlt col.c1{width:27%} .dg .xlt col.c2{width:15%} .dg .xlt col.c3{width:16%} .dg .xlt col.c4{width:42%}
.dg .xlt th{white-space:nowrap;text-align:left;font-size:12.5px;color:var(--sub)}
.dg .xlt tbody tr{cursor:pointer} .dg .xlt tbody tr:hover td{background:var(--soft)}
.dg .xlt td{vertical-align:top} .dg .xlt td .lnk{color:var(--ink)} .dg .xlt .gun{white-space:nowrap;font-size:12px;color:var(--sub)}
.dg .xlt td.d{white-space:nowrap;font-weight:900;font-size:16px} .dg .xlt td.d.up{color:var(--dg-g)} .dg .xlt td.d.dn{color:var(--dg-o)}
.dg .xlt td.p{white-space:nowrap} .dg .xlt td.p small{display:block;color:var(--sub);font-size:11.5px;white-space:normal}
.dg .xlt td.f{font-size:13px;font-weight:800;color:var(--dg-feat)}
/* 점수를 올리면: 왼쪽 조절 · 오른쪽 바뀌는 값 · 아래 목록 */
.dg .upgrid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:16px;align-items:start;margin:0 0 12px}
.dg .uph{display:flex;align-items:center;gap:8px;margin:0 0 8px} .dg .uph b{font-size:15px} .dg .uph .dbtn{margin-left:auto}
.dg .ups{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.dg .ub{display:flex;flex-direction:column;gap:6px;padding:8px 12px;background:var(--card);border-top:1px solid var(--line)} .dg .ub:first-child{border-top:0}
.dg .ub.on{background:var(--dg-tb);box-shadow:inset 3px 0 0 var(--dg-b)}
.dg .ub .row{display:flex;align-items:center;gap:5px}
.dg .ub .lab{font-size:14.5px;min-width:42px;white-space:nowrap}
.dg .ub .cur{font-size:14px;color:var(--sub);white-space:nowrap;min-width:30px;text-align:right}
.dg .ub .to{color:var(--sub)}
.dg .num{width:64px;border:1px solid var(--line);border-radius:8px;padding:5px 6px;font:inherit;font-size:16px;font-weight:900;text-align:center;background:var(--card);color:var(--ink)}
.dg .num:focus{outline:3px solid var(--dg-tb);border-color:var(--dg-b)} .dg .num:disabled{background:var(--soft);color:var(--dg-b);border-color:transparent}
.dg .pm{width:34px;height:34px;flex:none;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;font:inherit;font-size:18px;font-weight:900;cursor:pointer}
.dg .pm:disabled{opacity:.35;cursor:default}
.dg .ub .dd{font-size:12.5px;font-weight:900;color:#fff;background:var(--dg-b);border-radius:6px;padding:0 5px;white-space:nowrap} .dg .ub .dd:empty{display:none}
.dg .rvi{margin-left:auto;width:28px;height:28px;flex:none;border:0;background:none;color:var(--dg-b);font:inherit;font-size:18px;font-weight:900;cursor:pointer}
.dg .ub .lk,.dg .xareas .lk{display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--sub)}
.dg .xgain{display:flex;align-items:baseline;gap:4px 12px;flex-wrap:wrap;border-radius:14px;background:var(--dg-tg);padding:10px 14px;margin:0 0 8px;font-size:14px}
.dg .xgain b{font-size:20px;color:var(--dg-g)} .dg .xgain .chg{flex-basis:100%;font-size:13.5px} .dg .xgain .chg b{font-size:14px;color:var(--dg-b)} .dg .xgain .note2{flex-basis:100%}
.dg .xempty{border:1px dashed var(--line);border-radius:12px;padding:12px;color:var(--sub);font-size:13.5px;text-align:center;margin:0 0 8px}
.dg .xeff .eb{display:grid;grid-template-columns:128px minmax(0,1fr) 56px;gap:8px;align-items:center;width:100%;margin:0 0 6px;padding:2px 0;border:0;background:none;color:var(--ink);font:inherit;font-size:13.5px;text-align:left;cursor:pointer}
.dg .xeff .eb .t{height:14px;border-radius:7px;background:var(--soft);overflow:hidden} .dg .xeff .eb .t i{display:block;height:100%;border-radius:7px}
.dg .xeff .eb b{text-align:right}
.dg .xal{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.dg .xal .ah,.dg .xal .ai{display:grid;grid-template-columns:minmax(0,35fr) 18fr 17fr 18fr 12fr;gap:8px;align-items:center;padding:8px 12px}
.dg .xal .ah{background:var(--soft);font-size:12px;font-weight:700;color:var(--sub)}
.dg .xal .ai{border-top:1px solid var(--line);font-size:14px;cursor:pointer} .dg .xal .ai:hover{background:var(--soft)}
.dg .xal .ai .lnk{color:var(--ink)} .dg .xal .gun{font-size:12px;color:var(--sub);white-space:nowrap}
.dg .xal .as,.dg .xal .ad{white-space:nowrap} .dg .xal .ap small{display:block;font-size:11px;color:var(--sub)}
.dg .xal .ad s{color:var(--sub);text-decoration:none;font-size:12.5px} .dg .xal .ad b.up{color:var(--dg-g)} .dg .xal .ad b.dn{color:var(--dg-o)}
.dg .xal .ab{display:flex;gap:4px;justify-content:flex-end}
/* ② 학과 상세 */
.dg .xd .meta{margin:6px 0 4px}
.dg .xline{margin:10px 0 0;font-size:14px;line-height:1.5} .dg .xline b{margin-right:4px}
.dg .xline.monly{display:none} /* PC·태블릿은 위쪽에 같은 문장이 있어 탭 안에서는 모바일만 */
.dg .xd .acts{margin-top:12px}
.dg .xd .mpick{margin-top:12px} .dg .xd .mpick>summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--dg-b)} .dg .xd .mpick .tpick{margin:8px 0 0}
.dg .mmeta{margin:4px 0 8px;font-size:12.5px;color:var(--sub)} .dg .mmeta a{color:var(--dg-b);font-weight:700;text-decoration:none}
.dg .m3{display:grid;grid-template-columns:1fr 1fr 1.2fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 4px}
.dg .m3>div{padding:7px 10px;border-left:1px solid var(--line);min-width:0} .dg .m3>div:first-child{border-left:0}
.dg .m3 span{display:block;font-size:11.5px;color:var(--sub);white-space:nowrap} .dg .m3 b{font-size:17px;white-space:nowrap} .dg .m3 small{display:block;font-size:10.5px;color:var(--dg-o)}
.dg .m3 .g{background:var(--dg-tb)} .dg .m3 .g b{color:var(--dg-b)} .dg .m3 .g.up b{color:var(--dg-g)}
.dg .xd2 h4{margin:12px 0 6px;font-size:15px} .dg .xd2 h4:first-child{margin-top:0} .dg .xd2 h4 small{font-weight:600;color:var(--sub);font-size:12px}
.dg .xyt{width:100%;table-layout:fixed;border-collapse:collapse;font-size:14px}
.dg .xyt col.c1{width:60px} .dg .xyt col.c3{width:70px} .dg .xyt col.c4{width:56px} .dg .xyt col.c5{width:66px}
.dg .xyt th{white-space:nowrap} .dg .xyt td.n,.dg .xyt th.n{text-align:right;white-space:nowrap}
.dg .xyt .cm{display:block;margin:3px 0 0;width:max-content;max-width:100%;white-space:normal}
.dg .xyt sup{color:var(--dg-o);font-weight:900;margin-left:1px}
.dg .xstu{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:6px 0}
.dg .xstu div{border:1px solid var(--line);border-radius:12px;padding:8px 10px;text-align:center} .dg .xstu b{display:block;font-size:20px} .dg .xstu span{font-size:12px;color:var(--sub)}
.dg .xsteps{margin:0;padding:0 0 0 20px;font-size:14.5px;line-height:1.6} .dg .xsteps li{padding:4px 0;border-bottom:1px solid var(--line)} .dg .xsteps small{color:var(--sub)}
.dg .xsteps s{color:var(--sub)}
.dg .xvs{display:grid;grid-template-columns:52px minmax(0,1fr) 170px;gap:6px 10px;align-items:center;font-size:14px;margin-top:6px}
.dg .xvs .tr{position:relative;height:14px;border-radius:7px;background:var(--soft)}
.dg .xvs .me,.dg .xvs .st{position:absolute;top:0;bottom:0;border-radius:7px} .dg .xvs .me{background:#9aa6b8} .dg .xvs .st{border-right:3px solid var(--ink)}
.dg .xvs b.up{color:var(--dg-g)} .dg .xvs b.dn{color:var(--dg-o)}
.dg .xchk{margin:0;padding:0;list-style:none} .dg .xchk li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4px 10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}
.dg .xchk li small{color:var(--sub)} .dg .unk{color:var(--warn);font-weight:800}
/* ③ 목표 설계 */
.dg .xbasis{display:inline-block;margin:8px 0 0;border-radius:8px;background:var(--dg-to);color:var(--warn);font-size:13px;font-weight:700;padding:4px 10px}
.dg .xg1 .gapq{font-size:20px;font-weight:900;margin:14px 0 4px} .dg .xg1 .gapq b{color:var(--dg-r);font-size:28px}
.dg .xg1 .xwhy{font-size:13.5px;color:var(--sub);margin:0}
.dg .xg2 .xstp,.dg .xmodes .xstp{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:16px;font-weight:900}
.dg .xg2 .xstp i,.dg .xmodes .xstp i{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--dg-b);color:#fff;font-style:normal;font-size:13px}
.dg .xg2 .xstp .sp{margin-left:auto}
.dg .xg2 .fill{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;font-size:14px} .dg .xg2 .fill .seg2 button{font-size:13px;padding:5px 12px}
.dg .xareas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.dg .xareas.n2{grid-template-columns:repeat(2,minmax(0,1fr))} .dg .xareas.n3{grid-template-columns:repeat(3,minmax(0,1fr))} .dg .xareas.n5{grid-template-columns:repeat(5,minmax(0,1fr))}
.dg .xareas .lk{grid-column:1/-1}
.dg .xar{display:flex;flex-direction:column;gap:8px;border:2px solid var(--line);border-radius:14px;padding:12px;background:var(--card);transition:background .4s,border-color .4s;min-width:0}
.dg .xar.on{background:var(--dg-tb);border-color:var(--dg-b)} .dg .xar.auto{background:var(--soft);border-style:dashed;border-color:var(--dg-b)} .dg .xar.flash{background:var(--dg-tg);border-color:var(--dg-g)}
.dg .xar .hd{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:24px}
.dg .xar .lab{font-size:16px;font-weight:900;white-space:nowrap} .dg .xar .dd{font-size:13px;font-weight:900;color:var(--dg-b);white-space:nowrap;margin-left:auto}
.dg .xar .au{font-size:11px;font-weight:900;color:var(--dg-b);background:var(--card);border:1px solid var(--dg-b);border-radius:6px;padding:0 5px}
.dg .xar .badge{font-size:11px;font-weight:900;color:#fff;background:var(--dg-g);border-radius:6px;padding:1px 6px}
.dg .xar .vl{display:flex;align-items:center;gap:6px} .dg .xar .cur{font-size:15px;color:var(--sub)} .dg .xar .cur small{font-size:11px} .dg .xar .to{color:var(--sub)}
.dg .xar .num{flex:1;min-width:0;width:auto;font-size:20px;padding:6px}
.dg .xar .cl{display:flex;align-items:center;gap:6px} .dg .xar .cl .pm{flex:1;width:auto}
.dg .xar .rvi{width:34px;height:34px;border:1px solid var(--line);background:var(--card);border-radius:8px;margin:0}
.dg .xar .ct{font-size:13px;font-weight:800;color:var(--sub);border-top:1px solid var(--line);padding-top:6px}
.dg .xres{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;border-radius:14px;background:#1f2937;color:#fff;padding:10px 16px;margin:12px 0 0;font-size:15px}
.dg .xres b{font-size:20px} .dg .xres .lack b{color:#ffb3b5} .dg .xres .ok{color:#9ff0c9;font-weight:900}
.dg .xmodes .mc{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;font-size:13.5px} .dg .xmodes .mc span{background:var(--soft);border-radius:8px;padding:4px 8px}
@media (max-width:640px){
  .dg .xbk{margin:0 0 8px} .dg .bkb{font-size:13px;padding:4px 11px}
  /* 분포: 조절바 숫자는 손잡이 위·아래(손가락에 안 가림), 오른쪽 칸을 줄여 대학 7곳 */
  .dg .xdist .xdhead h2{font-size:15px} .dg .xdist .live{font-size:13.5px} .dg .xdist .live b{font-size:15px} .dg .xdist .basis1{font-size:12px}
  .dg .xdv{grid-template-columns:28px minmax(0,1fr) 44px;gap:0 4px}
  .dg .xdv .yax,.dg .xdv .plot,.dg .xdv .rng,.dg .xdv .vtrack{height:240px}
  .dg .xdv .yax{font-size:10px} .dg .xdv .xlab button{font-size:11px;padding:0} .dg .xdv .xlab small{font-size:10px}
  .dg .xdv .hv{left:50%;font-size:12px;padding:0 2px} .dg .xdv .hv.t{transform:translate(-50%,calc(-100% - 10px))} .dg .xdv .hv.b{transform:translate(-50%,10px)}
  .dg .xdist .dpg{gap:6px}
  .dg .xlist .lhead{margin:0 0 6px} .dg .xlist .lhead>.note{display:none} .dg .xlist .lhead .seg2 button{font-size:12.5px;padding:5px 8px}
  .dg .xmore{flex-direction:column;align-items:stretch}
  .dg .xlt{font-size:13px} .dg .xlt col.c1{width:40%} .dg .xlt col.c2{width:24%} .dg .xlt col.c3{width:36%} .dg .xlt col.c4,.dg .xlt th.f,.dg .xlt td.f{display:none}
  .dg .upgrid{grid-template-columns:minmax(0,1fr);gap:10px} .dg .upl,.dg .upr{min-width:0}
  .dg .ub .row{gap:4px} .dg .ub .lab{min-width:36px;font-size:14px} .dg .ub .cur{min-width:26px;font-size:13px} .dg .ub .num{width:54px;font-size:15px;padding:4px} .dg .ub .pm{width:32px;height:32px} .dg .ub .rvi{width:24px} .dg .ub .dd{font-size:11.5px;padding:0 4px}
  .dg .xtopm .xsc{font-size:13px} .dg .xtopm .xsc b{font-size:13.5px} .dg .upl>.note2{display:none} .dg .ub{padding:6px 10px;gap:4px} .dg .ub .lk span{display:none}
  .dg .xgain{padding:8px 12px} .dg .xgain b{font-size:17px}
  .dg .xeff .eb{grid-template-columns:104px minmax(0,1fr) 48px;font-size:12.5px}
  /* ② 탭 네 개 한 줄(글자 수에 맞춰 입결·출처는 좁게) · 입결표 줄바꿈 없음 */
  .dg .itabs.x4{display:grid;grid-template-columns:.72fr 1.3fr 1.3fr .72fr;gap:4px} .dg .itabs.x4 button{padding:6px 0;font-size:12.5px;text-align:center;white-space:nowrap}
  .dg .xyt{font-size:13px} .dg .xyt th{font-size:11.5px;padding:6px 4px} .dg .xyt td{padding:8px 4px}
  .dg .xyt col.c1{width:40px} .dg .xyt col.c3{width:48px} .dg .xyt col.c4{width:36px} .dg .xyt col.c5{width:46px} .dg .xyt .cm{font-size:10.5px}
  .dg .xstu{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dg .xvs{grid-template-columns:44px minmax(0,1fr) 108px;font-size:12.5px}
  .dg .xchk li{grid-template-columns:1fr;gap:2px}
  .dg .xline{font-size:13.5px;margin:0 0 10px;background:var(--soft);border-radius:10px;padding:8px 10px} .dg .xline.monly{display:block}
  /* ③ 상단 압축(기준 한 줄 → 세 숫자 → 그래프 → 조절), 과목 칸은 한 상자 안 두 줄 */
  .dg .xbasis{font-size:11.5px;padding:2px 7px;margin-top:4px}
  .dg #dg-p3 .m3{margin:8px 0 0} .dg #dg-p3 .m3 .g{background:var(--dg-tr)} .dg #dg-p3 .m3 .g b{color:var(--dg-r)}
  .dg #dg-p3 .cbar2{margin:8px 0 0} .dg #dg-p3 .cbar2 .tops{display:none} .dg #dg-p3 .cbar2 .trk{height:22px}
  .dg .xg2 .xstp{font-size:15px;margin:0 0 8px} .dg .xg2 .xstp .dbtn{font-size:12px;padding:4px 8px}
  .dg .xg2 .fill{font-size:12.5px;gap:6px} .dg .xg2 .fill .seg2 button{font-size:12.5px;padding:5px 9px}
  .dg .xareas,.dg .xareas.n2,.dg .xareas.n3,.dg .xareas.n5{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
  .dg .xar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"h k" "v c";gap:4px 8px;border:0;border-top:1px solid var(--line);border-radius:0;padding:7px 10px}
  .dg .xar:first-child{border-top:0} .dg .xar.on{box-shadow:inset 3px 0 0 var(--dg-b)} .dg .xar.flash{box-shadow:inset 3px 0 0 var(--dg-g)} .dg .xar.auto{border-style:solid;border-color:var(--line)}
  .dg .xar .hd{grid-area:h;min-height:0} .dg .xar .lab{font-size:14.5px} .dg .xar .dd{margin-left:0;font-size:12.5px}
  .dg .xar .ct{grid-area:k;border:0;padding:0;font-size:12px;align-self:center;text-align:right}
  .dg .xar .vl{grid-area:v} .dg .xar .cur{font-size:13.5px} .dg .xar .num{flex:none;width:66px;font-size:16px;padding:4px}
  .dg .xar .cl{grid-area:c} .dg .xar .cl .pm{flex:none;width:34px} .dg .xar .rvi{border:0;width:28px}
  .dg .xareas .lk{padding:6px 10px;border-top:1px solid var(--line)} .dg .xareas .lk span{display:none}
  .dg .psum .xres{margin:0;border-radius:12px;padding:8px 12px;font-size:14px} .dg .psum .xres b{font-size:17px}
  .dg .xmodes .seg2{display:flex;flex-wrap:wrap} .dg .xmodes .seg2 button{white-space:nowrap;font-size:12.5px;padding:5px 8px}
}
/* 다크 모드: 작은 배지 글자 대비(Codex 111 — 초록 배경 흰 글자 2.0:1, 파랑 3.2:1) */
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .dg .xar .badge,:root:not([data-theme="light"]) .dg .ub .dd{color:#0b1220}}
:root[data-theme="dark"] .dg .xar .badge,:root[data-theme="dark"] .dg .ub .dd{color:#0b1220}
/* 전형: 실제 이름·자격 제한 표시·전형 바꾸기(2026-10-22) */
.dg .xsp{display:inline-block;margin:6px 0 0;font-size:11.5px;font-weight:800;color:var(--warn);background:var(--dg-to);border-radius:6px;padding:1px 7px;white-space:nowrap}
.dg .xcdm .xsp{margin:2px 0 0}
.dg .xlt .xsp,.dg .xal .xsp{margin:2px 0 0 4px}
.dg .meta .xsp{margin:0}
.dg .xpy{display:inline-block;margin-left:4px;font-size:11px;font-weight:800;color:#174a8c;background:#e6effc;border-radius:5px;padding:0 5px;white-space:nowrap}
.dg .bd.t{font-weight:800}
.dg .xtop dd.qv{font-weight:600;color:var(--sub)}
.dg .xjt{margin-top:8px} .dg .xjt>summary{cursor:pointer;font-size:12.5px;font-weight:700;color:var(--dg-b)}
.dg .xjg{display:flex;flex-wrap:wrap;gap:6px}
.dg .xjg button{border:1px solid var(--line);background:var(--card);color:var(--sub);border-radius:999px;padding:4px 10px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.dg .xjg button[aria-pressed="true"]{border-color:var(--dg-b);background:var(--dg-tb);color:var(--dg-b)}
.dg .xjg small{font-weight:600;color:var(--sub)}
.dg .xyt .tt{display:block;font-size:11px;color:var(--sub)}
.dg .xcdm .gn{max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:640px){ .dg .xtopm .xjt{margin-top:6px} .dg .xtopm .xjt .lvh{display:block} .dg .xtopm .xjt .seg2 button{font-size:12px;padding:4px 8px} }.dg th small.tt{display:block;margin-top:2px;font-size:12px;font-weight:600;color:var(--sub)}
/* 전형 2차(사용자 지시 2026-10-22): 지원 자격 [입력·수정], 학교별 입결 연결, 원문 링크 단계 */
.dg .xtop dd.qv .xqe{margin-left:6px;padding:2px 8px;font-size:12px;vertical-align:middle}
.dg .xjl{margin:8px 2px 0;font-size:13.5px}
.dg .xjl a{color:var(--blue);font-weight:700;text-decoration:none}
.dg .xjl a:hover{text-decoration:underline}
.dg .xlk{display:inline-block;margin-top:4px;padding:3px 10px;border:1px solid var(--blue);border-radius:8px;color:var(--blue);font-weight:700;font-size:13px;text-decoration:none}
.dg .xpp{font-size:12.5px;color:var(--sub);margin-left:4px}
.dg .xpp a{color:var(--blue)}
.dg .xpp em{font-style:normal;font-weight:700;color:#6b4e00;background:#fff4d6;border-radius:5px;padding:1px 6px;margin-left:2px}
@media (max-width:767px){ .tabbar{grid-template-columns:repeat(auto-fit,minmax(0,1fr))} .tabbar button,.tabbar a{font-size:10.5px;white-space:nowrap;letter-spacing:-.3px} } /* 하단 탭 5개(학교별 입결 추가)도 한 줄 */
.dg .xtopm .mq{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4} /* 입력한 지원 자격은 자르지 않고 다 보임 */
.dg .xjt .xjn{margin:8px 0 0;line-height:1.55}
.dg .xjt .xjd{margin-top:4px}
.dg .xjt .xjd>summary{font-size:12.5px;color:var(--sub);cursor:pointer;font-weight:600}
.dg .xjt .xjd .note2{margin-top:4px}

/* 2028·2029 참고 안내: 모바일은 한 줄 + 자세히(2026-10-23) */
.r5 .info{margin:0}.r5m{display:none}
@media (max-width:640px){.r5pc{display:none}span.r5m{display:inline}details.r5m{display:block;margin-top:6px}details.r5m summary{cursor:pointer;color:var(--blue);font-weight:700}}

/* '2028 반영 방법' 탭(2026-10-23): 대학 카드 묶음 + 상세 창(PC 오른쪽 · 모바일 아래) */
.dg .pgx .pgh h2{font-size:20px;margin:6px 0 4px}
.p28f{margin:8px 0 12px}
.p28grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.p28c{display:flex;flex-direction:column;align-items:stretch;gap:6px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit;color:var(--ink);cursor:pointer;box-shadow:var(--shadow)}
.p28c:hover{border-color:var(--blue)}
.p28h{display:flex;gap:10px;align-items:center}.p28h .logo{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--soft);font-size:18px}
.p28h b{display:block;font-size:15px}.p28h small{color:var(--sub);font-size:12px}
.p28j{font-size:12px;color:var(--sub)}
.p28s{display:flex;align-items:baseline;gap:6px}.p28s b{font-size:26px;color:var(--blue)}.p28s small{color:var(--sub)}.p28s em{font-style:normal;font-size:11px;color:var(--blue);background:var(--soft);border-radius:999px;padding:1px 6px}
.p28g{font-size:12px;color:var(--sub)}
.p28n{font-size:13px;color:var(--sub)}.p28n.warn{color:var(--warn)}
.p28ts{display:flex;flex-wrap:wrap;gap:4px}.p28t{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:1px 7px;color:var(--sub);background:var(--bg)}.p28t.sum{color:#8a5a00;border-color:#f1d9a6;background:#fff7e6}
.p28m{font-size:12px;color:var(--sub);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.p28more{font-size:12px;color:var(--blue);font-weight:700;margin-top:auto}
.p28ov{position:fixed;inset:0;z-index:30;display:flex;justify-content:flex-end}
.p28bg{position:absolute;inset:0;border:0;background:rgba(15,23,42,.35);cursor:pointer}
.p28p{position:relative;width:min(560px,92vw);height:100%;overflow:auto;background:var(--bg);padding:12px 14px;box-shadow:-8px 0 24px rgba(0,0,0,.12)}
.p28ph{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-12px;background:var(--bg);padding:6px 0;z-index:1}
@media (max-width:640px){ .p28grid{grid-template-columns:1fr} .p28ov{align-items:flex-end} .p28p{width:100%;height:auto;max-height:86vh;border-radius:16px 16px 0 0;box-shadow:0 -8px 24px rgba(0,0,0,.12)} }

.dg .pg.pgx>.pgh{display:block}.dg .pgx .pgh .note{margin:0}

@media (max-width:640px){ .p28m{display:none} .p28c{padding:10px 12px;gap:4px} .p28s b{font-size:22px} }

/* 글자 로고(2026-10-23): 진짜 로고 전까지 대학 이름 앞 글자 + 대학별 고정 색. 캠퍼스는 오른쪽 아래 작은 글자 */
.logo.mono{position:relative;color:#fff;font-weight:800;letter-spacing:-.5px;font-size:15px;line-height:1}
.logo.mono.l4{font-size:11px;letter-spacing:0}
.logo.mono i{position:absolute;right:-4px;bottom:-4px;font-style:normal;font-size:9px;font-weight:700;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:1px 3px}
.p28h .logo.mono{font-size:13px}
.logo.img{background:#fff;border:1px solid var(--line);overflow:hidden}.logo.img img{width:80%;height:80%;object-fit:contain}
.logo.mono.l3{font-size:12px;letter-spacing:-1px}.p28h .logo.mono.l3{font-size:10.5px}
.logo.mono.l2{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px}.logo.mono.l2 b{font-size:13px;color:#fff}.logo.mono.l2 small{font-size:10px;font-weight:700;opacity:.9;color:#fff}.p28h .logo.mono.l2 b{font-size:11px}.p28h .logo.mono.l2 small{font-size:8.5px}

/* Five mobile tabs: reserve full label widths; let the two short labels share the remaining space. */
@media (max-width:640px){ .dg .pnav:has(> button:nth-child(5)){grid-template-columns:minmax(0,1fr) max-content max-content minmax(0,1fr) max-content} }
/* 2027 정시 모집(요강 원문 쪽 기준) — 2026-10-24 */
.j27c{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:10px 0;box-shadow:var(--shadow)}
.j27hd{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px}.j27hd b{font-size:15px;margin-right:2px}
.j27st{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:1px 7px;color:var(--sub);background:var(--bg);margin-left:6px}
.j27st.fix{color:#8a5a00;border-color:#f1d9a6;background:#fff7e6}
.j27chips{display:flex;flex-wrap:wrap;gap:6px}
.j27chip{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:3px 10px;background:var(--bg)}.j27chip b{font-size:15px}
.j27chip.gun{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}.j27chip.dim{color:var(--sub)}
.j27bar{display:flex;width:100%;height:30px;border-radius:9px;overflow:hidden;margin:4px 0;font-size:12px;color:#fff}
.j27s{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;white-space:nowrap;overflow:hidden}
.j27s b{font-weight:800}.j27s.k{background:#4f6bed}.j27s.m{background:#1f9d85}.j27s.e{background:#d48a1c}.j27s.t{background:#8b5fd6}.j27s.h{background:#7b8597}
.j27vl{font-size:12px;color:var(--sub);margin:6px 0 0}
.j27rs{display:grid;gap:4px;margin-top:8px}
.j27r{display:grid;grid-template-columns:64px 1fr;gap:8px;font-size:13px;align-items:start}.j27r>small{color:var(--sub);padding-top:1px}
.j27g{display:inline-flex;flex-wrap:wrap;gap:2px;margin-left:4px;vertical-align:middle}
.j27g span{display:inline-flex;flex-direction:column;align-items:center;min-width:30px;border:1px solid var(--line);border-radius:6px;padding:1px 3px;font-size:12px;background:var(--bg)}
.j27g small{font-size:9px;color:var(--sub);line-height:1}
.j27src{font-size:12px;color:var(--sub);margin:6px 0 0}.j27src a{color:var(--blue)}
.j27n{padding-left:18px;margin:6px 0 0}
.j27sch{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:10px 0 14px;box-shadow:var(--shadow)}
.j27sch>summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;list-style:none}
.j27sch>summary::-webkit-details-marker{display:none}
.j27sch>summary::after{content:'펼치기 ›';margin-left:auto;font-size:12px;color:var(--blue);font-weight:700}
.j27sch[open]>summary::after{content:'접기'}
.j27list{display:grid;gap:2px;margin:10px 0}
.j27li{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}
.j27li .jnm small{display:block;font-size:11px;color:var(--sub)}.j27li .jq{font-weight:700;text-align:right;min-width:44px}
.j27li .jrk{font-size:11px;color:var(--sub);grid-column:1/-1;margin-top:-4px}.j27li .jpg{font-size:12px;color:var(--sub)}
.j27li .j27chip{font-size:12px;padding:1px 8px}
@media (max-width:520px){.j27r{grid-template-columns:1fr;gap:2px}.j27g{display:grid;grid-template-columns:repeat(9,1fr);margin:3px 0 0;width:100%}.j27g span{min-width:0;padding:1px 0}}
.j27li .jnm small.jnote{color:var(--warn)}
.j27li .jnote{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.j27unc{margin:6px 0 0;font-size:13px}.j27unc>summary{cursor:pointer;color:var(--warn)}
.j27li .jq small{font-size:11px;color:var(--sub);font-weight:600}
.j27cond{display:grid;gap:4px;margin:2px 0 10px;padding:8px 10px;border-radius:10px;background:var(--soft)}
.j27cond .j27r.must>small{color:var(--bad);font-weight:700}.j27cond .j27r.min>small{color:var(--warn);font-weight:700}
.j27unk{color:var(--sub);font-style:italic}.j27none{color:var(--sub)}
.j27sched{margin:6px 0 4px}.j27sched .j27r{grid-template-columns:110px 1fr}@media (max-width:520px){.j27sched .j27r{grid-template-columns:1fr}}
.j27chip.silgi{background:#fff3e0;border-color:#f3c98b;color:#8a4b00;font-weight:700}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .j27chip.silgi{background:rgba(240,166,72,.16);border-color:rgba(240,166,72,.45);color:#f0a648}}
:root[data-theme="dark"] .j27chip.silgi{background:rgba(240,166,72,.16);border-color:rgba(240,166,72,.45);color:#f0a648}
/* 정시 진단 — Codex 정리 시안(2026-10-24): 차이 세 줄(공개 입결이 주어) · 표 세 칸 · 점수 조정 왼쪽 조절 / 오른쪽 결과·학과 · 모바일 성적 큰 숫자+막대 */
.dg .xcd .xdf{flex-wrap:wrap;align-items:baseline;gap:2px 6px;white-space:normal;font-size:15px;font-weight:800;color:var(--ink)}
.dg .xcd .xdf b{font-size:22px;line-height:1.2}
.dg .sj,.dg .xcd .xdf .sj{display:inline-block;align-self:center;font-size:11.5px;font-weight:800;line-height:1.5;color:var(--dg-b);background:var(--dg-tb);border-radius:6px;padding:0 6px;white-space:nowrap}
.dg .xcd .xsc{margin:4px 0 0}
.dg .xlt col.c1{width:28%} .dg .xlt col.c2{width:26%} .dg .xlt col.c4{width:46%}
.dg .xlt th small{font-size:11.5px;font-weight:600}
.dg .xlt td.p{white-space:normal} .dg .xlt td.p b.d{display:block;font-size:16px;font-weight:900;white-space:nowrap;color:var(--sub)}
.dg .xlt td.p b.d.up{color:var(--dg-g)} .dg .xlt td.p b.d.dn{color:var(--dg-o)}
.dg .xlt td.p .s{display:block;font-size:13.5px;white-space:nowrap}
.dg .xtop dd .bd{font-size:13px;padding:2px 9px}
.dg .upgrid{grid-template-columns:minmax(0,360px) minmax(0,1fr)}
.dg .upcol{display:flex;flex-direction:column;gap:14px;position:sticky;top:112px;min-width:0}
.dg .upr{min-width:0}
.dg .upr .xempty{margin:0 0 10px}
.dg .xalh{margin:12px 0 6px}
.dg .xal2{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.dg .ai2{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"t ab" "ad as";gap:4px 12px;align-items:center;padding:9px 12px;border-top:1px solid var(--line);cursor:pointer;font-size:14px}
.dg .ai2:first-child{border-top:0} .dg .ai2:hover{background:var(--soft)}
.dg .ai2 .t{grid-area:t;min-width:0} .dg .ai2 .lnk{color:var(--ink)} .dg .ai2 .gun{font-size:12px;color:var(--sub);white-space:nowrap}
.dg .ai2 .ab{grid-area:ab;display:flex;gap:4px;justify-self:end}
.dg .ai2 .ad{grid-area:ad;white-space:nowrap;display:flex;align-items:baseline;gap:6px}
.dg .ai2 .ad s{text-decoration:none;color:var(--sub);font-size:13px} .dg .ai2 .ad b{font-size:16px;font-weight:900;color:var(--sub)}
.dg .ai2 .ad b.up{color:var(--dg-g)} .dg .ai2 .ad b.dn{color:var(--dg-o)}
.dg .ai2 .as{grid-area:as;text-align:right;font-size:13px;color:var(--sub);white-space:nowrap} .dg .ai2 .as b{color:var(--ink)} .dg .ai2 .as small{display:block;font-size:11px}
@media (max-width:900px){ .dg .upgrid{grid-template-columns:minmax(0,1fr)} .dg .upcol{position:static} }
.dg .xtopm .mt{font-size:15px}
.dg .xtopm .mxs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0}
.dg .xtopm .mx{background:var(--soft);border-radius:10px;padding:6px 6px 7px;text-align:center;min-width:0}
.dg .xtopm .mx .lb{display:block;font-size:11.5px;font-weight:700;color:var(--sub)}
.dg .xtopm .mx>b{display:block;font-size:22px;line-height:1.2;font-weight:900;white-space:nowrap;color:var(--ink)}
.dg .xtopm .mx:nth-child(3)>b{font-size:17px;line-height:1.55}
.dg .xtopm .mx>b small{font-size:11px;font-weight:700}
.dg .xtopm .mx i{display:block;height:5px;border-radius:3px;background:var(--line);margin:4px 2px 0;overflow:hidden} .dg .xtopm .mx i em{display:block;height:100%;border-radius:3px}
.dg .xtopm .mx>small{display:block;margin-top:3px;font-size:10.5px;color:var(--sub)}
.dg .xtopm .rc .mc{display:flex;flex-wrap:wrap;gap:4px;white-space:normal;overflow:visible} .dg .xtopm .rc .mc .bd{font-size:12px;padding:2px 8px}
@media (max-width:640px){
  .dg .xlt col.c1{width:54%} .dg .xlt col.c2{width:46%} .dg .xlt td.p .s{white-space:normal;font-size:12.5px}
  .dg .xcdm .l3{flex-wrap:wrap;row-gap:0;overflow:visible} .dg .xcdm .l3>b{font-size:17px;white-space:nowrap}
}

/* 2027 모집단위 목록: 누르면 그 모집단위 상세(2026-10-25) */
.j27li[data-j27u]{cursor:pointer;border-radius:8px}
.j27li[data-j27u]:hover,.j27li[data-j27u]:focus-visible{background:var(--soft,rgba(37,99,235,.06));outline:none}
.j27li[data-j27u]:focus-visible{box-shadow:0 0 0 2px var(--blue)}

/* ===== 2026-10-24 실제 화면 3개(수시·정시·목표 대학 진단) — Codex 지시 통합 시안 ===== */
/* 결론 한 줄 · 비교 불가 안내 · 선정 이유 */
.xcon{font-size:17px;line-height:1.5;margin:0 0 10px;color:var(--ink)}
.xcon b{color:var(--blue)}
.xcon small{display:inline-block;font-size:12px;color:var(--sub);font-weight:500;margin-left:4px}
.dg .pg>.xcon{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 10px}
.xnc{font-size:13px;line-height:1.5;color:var(--sub);background:var(--soft);border-radius:10px;padding:8px 12px;margin:0 0 10px}
.xnc b{color:var(--warn)}
.dg .xwhy{font-size:12px;color:var(--blue);font-weight:700;margin:4px 0 2px}
/* 9등급 수시 카드 */
.dg .s9k{margin:4px 0 0}
.dg .s9k .kpi b{font-size:22px}
.dg .s9top .ctrls{margin-top:12px}
.s9cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.s9c{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--card);cursor:pointer;display:flex;flex-direction:column;gap:6px}
.s9c:hover,.s9c:focus{border-color:var(--blue);outline:none}
.s9h{display:flex;justify-content:space-between;gap:8px}
.s9h h3{font-size:15px;margin:0}.s9h .rg{font-size:11px;color:var(--sub);font-weight:500}
.s9h .u2{font-weight:700;font-size:14px}.s9h .u{font-size:12px;color:var(--sub)}
.s9h .heart{flex:none}
.s9why{margin:0;font-size:12px;color:var(--blue);font-weight:700}.s9why span{display:inline-block;background:var(--blue-soft);border-radius:6px;padding:0 6px;margin-right:6px}
.s9n{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:var(--soft);border-radius:10px;padding:8px}
.s9n small{display:block;font-size:11px;color:var(--sub)}.s9n b{font-size:15px}
.s9n .up b{color:var(--warn)}.s9n .dn b{color:var(--ok)}
.s9m{margin:0;font-size:12px;color:var(--sub)}
.s9ev{margin-top:4px}
/* 상태 표시(입결 없음 · 계산 기준 미확보 · 성적 부족 · 비교 불가) */
.st8{display:inline-block;font-size:12px;border-radius:6px;padding:1px 7px;font-weight:600}
.st8.ok{background:var(--blue-soft);color:var(--blue)}
.st8.need{background:rgba(240,138,36,.14);color:var(--warn)}
.st8.nobasis,.st8.nocmp,.st8.none{background:var(--soft);color:var(--sub)}
/* 목표 고르기: 검색 + 관심 대학 */
.pks{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.pk{display:flex;gap:6px;align-items:stretch}
.pk>button:first-child{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:8px 10px;cursor:pointer;color:var(--ink);font:inherit}
.pk>button:first-child:disabled{cursor:default;opacity:.85}
.pk>button:first-child small{color:var(--sub);font-size:12px}
.pk.on>button:first-child{border-color:var(--blue);background:var(--blue-soft)}
.pk .heart{flex:none}
.tsrch .field,.s8pick .field{margin:0}
.dg .sec.tbar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;padding:10px 12px}
.dg .tbar .mpick{flex:1;min-width:0}
.tbig em.part{font-style:normal;font-size:11px;background:rgba(240,138,36,.14);color:var(--warn);border-radius:6px;padding:0 6px;margin-left:4px}
/* 문서 버튼 · 2028 반영 방법 접기 */
.docb{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.docb .doc{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;background:var(--card)}
.docb .doc:hover{border-color:var(--blue);color:var(--blue)}
.docb .doc small{color:var(--sub);font-weight:500}
.p28f{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:10px 0;background:var(--card)}
.p28f>summary{cursor:pointer;font-weight:700}.p28f>summary small{color:var(--sub);font-weight:500;margin-left:6px}
/* 내신 평균 자동 */
.sauto{margin:-4px 0 10px}.sauto .bd{font-size:11px}
/* 관심 대학 비교표 */
.fvt tbody tr{cursor:default}
.fvt td.fva{white-space:nowrap}.fvt td.fva .btn{margin-left:4px}
@media (max-width:640px){
  .xcon{font-size:16px}
  .s9cards{grid-template-columns:1fr}
  .fvt td.fva{grid-column:1/-1;text-align:left!important}
  .dg .s9k{grid-template-columns:repeat(3,1fr);gap:6px}.dg .s9k .kpi{padding:10px 6px}.dg .s9k .kpi b{font-size:18px}.dg .s9k .kpi span{font-size:11px}
}
@media (max-width:640px){.fvt td{min-width:0;overflow-wrap:anywhere}.fvt td .ctag{white-space:normal;display:inline-block;max-width:100%}}
.dg .pg>.sec.tbar{display:flex!important;flex-direction:row!important;align-items:flex-start;justify-content:flex-start}.dg .sec.tbar>.dbtn{flex:none}
.fvt td.gap small.i{display:inline}

/* ===== 2026-10-25 ㉒ 세 화면 보완: 분포 복원 · 목표 진단 5단계 · 관심 학과 분포 · 크기·글꼴 통일 ===== */
/* 공통 글자 크기(세 화면 같은 값): 제목 24 · 섹션 제목 19 · 본문 15 · 보조 13 */
.wrap.wide{--fs-h1:24px;--fs-h2:19px;--fs-body:15px;--fs-sub:13px}
.wrap.wide .res-head h1{font-size:var(--fs-h1)}
.dg .sh h2,.dg .pgh h2,.fdist .fdh h2{font-size:var(--fs-h2);margin:0}
.dg .note2,.dg .note,.wrap.wide .card .note{font-size:var(--fs-sub)}
.dg .xline,.dg .xsteps,.dg .eff,.dg .hb div{font-size:14.5px}
.dg .dtitle{font-size:22px} .dg .dtitle span{font-size:17px}
@media (min-width:900px){ .dg .dtitle{font-size:22px} .dg .dtitle span{font-size:17px} }
.xcon{font-size:17px}
/* 미확인 · 키-값 칸 */
.unk{display:inline-block;font-size:13px;font-weight:700;color:var(--warn);background:rgba(240,138,36,.12);border-radius:6px;padding:0 7px}
.kvg{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin:10px 0}
.kvg>div{background:var(--soft);border-radius:10px;padding:8px 10px;min-width:0}
.kvg small{display:block;font-size:12px;color:var(--sub);margin-bottom:2px}
.kvg b{font-size:15px;overflow-wrap:anywhere}
/* 교과별 내 등급 막대 */
.sbars{display:grid;gap:6px;margin:8px 0}
.sbars div{display:grid;grid-template-columns:64px 1fr 48px 110px;gap:8px;align-items:center;font-size:14px}
.sbars .t{height:12px;border-radius:6px;background:var(--line);overflow:hidden}.sbars .t i{display:block;height:100%;background:var(--blue)}
.sbars small{color:var(--sub);font-size:12px}
/* 9등급 수시 분포: 범위 안 0곳일 때 */
.s9zero{background:var(--soft);border-radius:12px;padding:10px 12px;margin:10px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.s9zero p{margin:0;font-size:14.5px;flex:1 1 260px}
/* 관심 학과 분포 */
.fdist .fdh{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;margin:0 0 8px}
.fdist .fdh .dbtn{margin-left:auto}
.fstrip{margin:12px 0 4px}
.fst{margin:0 0 6px;font-weight:700;font-size:15px}.fst small{font-weight:400;color:var(--sub);font-size:12px;margin-left:4px}
.ftrack{position:relative;height:86px;border-radius:12px;background:linear-gradient(90deg,rgba(20,160,107,.08),var(--card) 50%,rgba(240,138,36,.08));border:1px solid var(--line)}
.ftrack .f0{position:absolute;left:50%;top:6px;bottom:6px;width:2px;background:var(--blue)}
.ftrack .fm{position:absolute;left:50%;transform:translateX(-50%);bottom:-2px;font-size:11px;color:var(--blue);font-weight:700;background:var(--card);padding:0 4px;border-radius:4px}
.ftrack .fl,.ftrack .fr{position:absolute;top:4px;font-size:11px;color:var(--sub)}.ftrack .fl{left:8px}.ftrack .fr{right:8px}
.fdot{position:absolute;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;border:2px solid var(--card);background:var(--blue);color:#fff;font-size:11px;font-weight:800;cursor:pointer;padding:0;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.fdot.on{background:var(--warn);width:28px;height:28px}
.flist{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 10px}
.flist button{width:100%;display:grid;grid-template-columns:22px 1fr auto;gap:2px 6px;align-items:center;text-align:left;border:0;background:none;font:inherit;font-size:14px;color:var(--ink);padding:4px 6px;border-radius:8px;cursor:pointer}
.flist button:hover{background:var(--soft)}
.flist i{font-style:normal;width:20px;height:20px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}
.flist li.on i{background:var(--warn)}
.flist small{grid-column:2/4;font-size:12px;color:var(--sub)}
.fnc{margin-top:12px}.fnc .dbtn small{color:var(--sub);font-weight:500;margin-left:4px}
.fnc span.dbtn{cursor:default}
.fpick{max-width:220px;border:1px solid var(--line);border-radius:8px;padding:5px;background:var(--card);color:var(--ink);font:inherit;font-size:13px}
@media (max-width:640px){ .sbars div{grid-template-columns:52px 1fr 40px} .sbars small{display:none} .flist{grid-template-columns:1fr} .kvg{grid-template-columns:1fr 1fr} .dg .dtitle{font-size:20px} .dg .dtitle span{font-size:15px} }
.dg .hb.need.s9adj div{grid-template-columns:190px 1fr 200px} @media (max-width:640px){.dg .hb.need.s9adj div{grid-template-columns:1fr;gap:2px}}
.dg .j27cond .j27r.pm,.dg .j27cond .j27r.add,.dg .j27cond .j27r.min,.dg .j27cond .j27r.must{width:auto;height:auto;border:0;background:none;border-radius:0;font-size:13px;font-weight:400;cursor:auto;display:grid;grid-template-columns:72px 1fr;flex:initial} /* 진단 화면 ± 버튼(.pm) 스타일과 이름이 겹쳐 모집 조건 줄이 깨지던 것 */
.dg .xg2 .xstp i,.dg .xmodes .xstp i{width:auto;min-width:24px;padding:0 6px;border-radius:12px;font-size:12px}
.fdist .dbtn{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:6px 10px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;margin:0 6px 6px 0}
.fdist .meta{display:flex;flex-wrap:wrap}
.fvt td[data-l="구분"],.fvt td[data-l="기준"]{white-space:nowrap}

.ftrack{height:92px}
.fdist .note2{font-size:13px;color:var(--sub);margin:0}
.fvt td[data-l="상태"]{min-width:120px} .fvt td.fva{width:1%}
.fvt td.u{min-width:210px} @media (max-width:640px){.fvt td.u{min-width:0}}
.fvt td.fva{white-space:normal;width:auto;min-width:130px} .fvt td.fva .btn{margin:2px} .fvt .fpick{max-width:150px;display:block;margin:0 0 4px auto}

/* ===== 2026-10-25 ㉓ 보완: 정시 내 성적 상자 · 목표 진단 차이 먼저 · 내신 리뷰 ===== */
.dg .xtop .rings.r3{display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;gap:8px}
.dg .xtop .rings.r3 .ring svg{width:108px;height:108px}
.dg .xtop .rings.r3 .lb{font-size:15px;font-weight:800}
.dg .gp3{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:8px;margin-top:12px}
.dg .gp3>div{background:var(--soft);border-radius:10px;padding:8px 10px;min-width:0}
.dg .gp3 span{display:block;font-size:12px;color:var(--sub)} .dg .gp3 b{font-size:18px} .dg .gp3 small{display:block;font-size:11.5px;color:var(--sub)}
.dg .xchg{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:flex-start;margin-top:8px}
.dg .xchg>details{flex:1 1 220px;margin:0}
.dg .xchg .xjl{flex-basis:100%;margin:0}
/* 목표 진단 머리(제목 · 결론 · 세 숫자) */
.dg .tgh .tgsub{margin:2px 0 8px;font-size:14px;color:var(--sub)}
.dg .tgh .stat3 b{font-size:28px}
.kvg.kvs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.kvg.kvs b{font-size:14.5px}
.dg .grid2 .sbars{margin:0}
@media (max-width:640px){ .dg .xtop .rings.r3 .ring svg{width:84px;height:84px} .dg .gp3{grid-template-columns:1fr 1fr} .dg .gp3>div:last-child{grid-column:1/-1} .dg .tgh .stat3 b{font-size:22px} }

/* ===== 2026-10-25 ㉒ 3차 수정: 수시 내 성적 상자 · 핵심 조건 한 줄 · 입학처 찾기 버튼 ===== */
.dg .s9x .mavg{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 6px}
.dg .s9x .mavg b{font-size:34px;color:var(--dg-b);line-height:1.1} .dg .s9x .mavg b small{font-size:16px;margin-left:2px}
.dg .s9x .mavg span{font-size:13px;color:var(--sub)}
.dg .s9x .rings.r6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));justify-items:center;gap:4px}
.dg .s9x .rings.r6 .lb{font-size:14px;font-weight:800}
.dg .s9x dd .seg2{display:inline-flex}
.dg .xconb{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 10px}
.xline.must{background:rgba(229,72,77,.07);border-radius:8px;padding:6px 10px;margin:6px 0 0}
.xline.must b{color:var(--bad)}
.docb .doc.site{border-style:dashed;color:var(--sub)}
@media (max-width:640px){ .dg .s9x .rings.r6{grid-template-columns:repeat(3,minmax(0,1fr))} .dg .s9x .mavg b{font-size:28px} }

/* ===== 2026-10-25 ㉒ 4차 수정: 학기 × 교과 표 · 기본정보 가운데 정렬 ===== */
.dg .s9heat td{font-size:13px;padding:7px 2px}
.dg .s9heat tr.tot th,.dg .s9heat tr.tot td{border-top:2px solid var(--line)}
.dg .s9heat tr.tot th{color:var(--ink)} .dg .s9heat tr.tot td{font-size:14px}
/* 기본 정보·반영 과목: 항목 수만큼 한 줄을 채우고 가운데 정렬 — 오른쪽 빈 열을 남기지 않는다 */
.kvg.kvs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.kvg.kvs>div{flex:1 1 170px;max-width:340px;text-align:center}
.kvg.kvs b{font-size:15px}
.dg .hb.need.s9adj div{grid-template-columns:180px 1fr 300px} @media (max-width:640px){.dg .hb.need.s9adj div{grid-template-columns:1fr}}

/* ===== 2026-10-25 ㉒ 5차: 학기 × 교과 표를 필요한 너비만 — 가운데, 셀·여백 줄임, 넘치면 표 안에서 가로 스크롤 ===== */
.dg .s9hs{padding:12px 16px}
.dg .s9hs .sh{margin:0 0 6px}
.dg .s9hs .scroll{overflow-x:auto}
.dg .s9heat{width:auto;margin:0 auto;border-spacing:3px}
.dg .s9heat th{padding:1px 6px;white-space:nowrap}
.dg .s9heat td{min-width:52px;padding:4px 8px;font-size:14px}
.dg .s9heat tr.tot td{font-size:14px}
.dg .s9hs .hl{justify-content:center;margin-top:2px}
@media (max-width:640px){ .dg .s9heat td{min-width:44px;padding:4px 6px} }

/* ===== 2026-10-25 ㉒ 6차: [내 성적 | 학기 × 교과] 한 줄 → 내 조건 요약(전체 폭) → 분포 (사용자 스케치) ===== */
.dg .s9g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0;overflow:hidden}
.dg .s9g.one{grid-template-columns:1fr}
.dg .s9g>div{padding:14px 18px;min-width:0}
.dg .s9g>.tm{border-left:1px solid var(--line)}
.dg .s9g .hh{display:flex;align-items:center;gap:8px;margin:0 0 8px} .dg .s9g .hh b{font-size:16px} .dg .s9g .hh .dbtn{margin-left:auto}
.dg .s9g .rings.r6{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:8px}
.dg .s9g .tm .scroll{overflow-x:auto}
.dg .s9g .tm .s9heat{margin:0 auto}
.dg .s9g .tm .hl{justify-content:center}
.dg .s9cond{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 14px}
.dg .s9cond .ct{font-size:15px}
.dg .s9cond .cg{display:flex;flex-wrap:wrap;gap:4px}
.dg .s9cond .cn{font-size:14px;color:var(--sub)} .dg .s9cond .cn b{color:var(--dg-b);font-size:16px}
.dg .s9cond>.dbtn{margin-left:auto}
@media (max-width:900px){ .dg .s9g{grid-template-columns:1fr} .dg .s9g>.tm{border-left:0;border-top:1px solid var(--line)} }
.dg .s9heat th:first-child{position:sticky;left:0;z-index:1;background:var(--card)} /* 표를 가로로 넘겨도 교과 이름은 왼쪽에 남긴다 */
/* 학과 리스트(Codex 지시 2026-10-25): PC는 세로로 맞춘 표, 모바일은 학과마다 세 줄. 글자는 줄이지 않는다 */
.dg .lsel{flex-basis:100%;margin:2px 0 0;font-size:14px;color:var(--sub)} .dg .lsel b{color:var(--ink)}
.dg .s9t,.dg .xlt2{font-size:15px}
.dg .s9t th,.dg .xlt2 th{font-size:13px;vertical-align:bottom} .dg .s9t th small,.dg .xlt2 th small{display:block;font-weight:500}
.dg .s9t td,.dg .xlt2 td{vertical-align:middle;padding:10px 8px}
.dg .s9t tr[data-s9t],.dg .xlt2 tr[data-dg-a]{cursor:pointer}
.dg .s9t tr[data-s9t]:hover td,.dg .xlt2 tr[data-dg-a]:hover td{background:var(--soft)}
.dg .s9t tr[data-s9t]:focus-visible,.dg .xlt2 tr[data-dg-a]:focus-visible{outline:2px solid var(--dg-b);outline-offset:-2px}
.dg .s9t td.u small,.dg .xlt2 td.u small{display:block;font-size:13px;color:var(--sub);margin-top:2px}
.dg .s9t td.n small,.dg .xlt2 td.n small{display:block;font-size:12.5px;color:var(--sub);font-weight:500}
.dg .s9t td.n b,.dg .xlt2 td.n b{font-size:16px}
.dg .s9t td.n small.i{display:inline;font-size:inherit;color:inherit;font-weight:inherit}
.dg .xlt2 td.f{font-size:14px;color:var(--sub);max-width:220px}
.dg td.d,.dg .l2 .d{font-weight:700;white-space:nowrap} .dg .d.up{color:var(--dg-g)} .dg .d.dn{color:var(--dg-o)} .dg .d.eq{color:var(--sub)}
.dg td.h,.dg th.h{width:44px;text-align:center} .dg td.h .heart{margin:0}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dg .heart:focus-visible{outline:2px solid var(--dg-b);border-radius:6px}
.dg .s9ml,.dg .jml{list-style:none;margin:0;padding:0;display:none}
.dg .s9ml li,.dg .jml li{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line)}
.dg .s9ml .r,.dg .jml .r{flex:1;min-width:0;padding:10px 2px;cursor:pointer}
.dg .s9ml .r:focus-visible,.dg .jml .r:focus-visible{outline:2px solid var(--dg-b);border-radius:6px}
.dg .s9ml p,.dg .jml p{margin:0} .dg .s9ml .l1,.dg .jml .l1{font-size:16px}
.dg .s9ml .l2,.dg .jml .l2{display:flex;justify-content:space-between;gap:8px;font-size:15px;margin-top:3px}
.dg .s9ml .l3,.dg .jml .l3{font-size:13px;color:var(--sub);margin-top:3px}
.dg .jml{display:block}
@media (max-width:640px){ .dg .s9t{display:none} .dg .s9ml{display:block} .dg .lhead .seg2{flex-wrap:wrap} }
.dg .jml .l4{font-size:13px;color:var(--sub);margin-top:2px} /* 반영 방식 핵심(모바일) */
.dg .lmo{display:none}
@media (max-width:640px){ .dg .lpc{display:none} .dg .lmo{display:inline} }
/* ---- 입력 개편(2026-10-25): 시작 화면 · 공통 입력 틀 · 내신 학기별 입력표 ---- */
.wrap.wstep{max-width:780px}
.q.qf .qhd h1{font-size:24px;margin:0 0 4px}
.q.qf .qhd .lead{margin:0;font-size:14.5px}
.q.qf .qn{display:flex;gap:10px;align-items:center}
.q.qf .qn .btn.line{flex:none;padding:12px 16px}
.q.qf .qn .btn.primary{flex:1;width:auto}
.q.qf .qh.big{margin-top:16px}
.q.qf .opt{padding:12px 14px}
.q.qf .opt .oi{width:34px;height:34px;font-size:17px}
.opts.two.m3{grid-template-columns:repeat(3,minmax(0,1fr))}
.q.qf .info{margin-top:12px}
@media (min-width:641px){
  .q.qf{display:flex;flex-direction:column;height:clamp(280px,calc(100dvh - 150px),780px);padding:0;overflow:hidden}
  .wrap.wstep{padding-bottom:16px} body.instep .foot{display:none} /* 입력 단계는 페이지가 스크롤되지 않게(입력 틀 안만 스크롤). 안내 문구는 결과 화면에 */
  .q.qf .qhd{flex:none;padding:20px 28px 12px;border-bottom:1px solid var(--line)}
  .q.qf .qb{flex:1;min-height:0;overflow:auto;padding:12px 28px 18px;overscroll-behavior:contain}
  .q.qf .qn{flex:none;position:static;margin:0;padding:12px 28px 14px;border-top:1px solid var(--line);background:var(--card)}
}
@media (max-width:640px){ .opts.two.m3{grid-template-columns:1fr} .q.qf .qn{margin-top:14px} }
/* 시작 화면: 간편 / 전체 */
.ents{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.ent{display:flex;gap:10px;align-items:flex-start;text-align:left;border:1.5px solid var(--line);background:var(--card);border-radius:14px;padding:14px;cursor:pointer;font:inherit;color:inherit}
.ent[aria-pressed="true"]{border-color:var(--blue);background:var(--blue-soft)}
.ent .oi{flex:none;width:34px;height:34px;border-radius:10px;background:var(--soft);display:grid;place-items:center;font-size:17px}
.ent b{display:block;font-size:17px}
.ent small{display:block;color:var(--sub);font-size:13px;margin-top:2px;line-height:1.45}
.qf .quick{border:0;background:none;padding:0}
@media (max-width:640px){ .ents{grid-template-columns:1fr} }
/* 입력 화면 공통 작은 선택 버튼(내신 입력 방식) */
.q .seg2{display:inline-flex;background:var(--soft);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}
.q .seg2 button{border:0;background:none;padding:8px 14px;border-radius:8px;font:inherit;font-weight:600;color:var(--sub);cursor:pointer}
.q .seg2 button[aria-pressed="true"]{background:var(--card);color:var(--blue);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.q .smn{margin:6px 0 10px}
/* 점수 칸 입력 오류(범위 밖 — 값은 그대로, 계산에서만 뺌) */
.sheet .ci.bad,.mini input.bad,.ctbl2 .bad{border-color:#d93025!important;background:rgba(217,48,37,.08)!important}
.q .badn{display:none;color:#b42318}
.q .sheet:has(.bad)+.badn{display:block}
/* 내신 학기 탭 */
.ttabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:4px 0 10px}
.ttabs button{border:1.5px solid var(--line);background:var(--card);border-radius:10px;padding:6px 2px;cursor:pointer;font:inherit;color:var(--ink);text-align:center;min-width:0}
.ttabs button b{display:block;font-size:15px}
.ttabs button small{display:block;font-size:11.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ttabs button.fut small{color:#b45309}
.ttabs button[aria-selected="true"]{border-color:var(--blue);background:var(--blue-soft)}
.thd{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;margin:0 0 6px}
.thd .note{margin:0}
.thd .note.fut{flex-basis:100%;color:#b45309}
.ttool{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
/* 내신 입력표 */
.ctbl2{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}
.ctbl2 col.cs{width:17%} .ctbl2 col.ct{width:14%} .ctbl2 col.cu{width:11%} .ctbl2 col.cg{width:17%} .ctbl2 col.cx{width:34px}
.ctbl2.c5 col.cg{width:25%} .ctbl2.c5 col.cs{width:15%}
.ctbl2 th{position:sticky;top:-12px;z-index:1;background:var(--card);font-size:12px;font-weight:700;color:var(--sub);text-align:left;padding:6px 3px;border-bottom:1px solid var(--line)}
.ctbl2 td{padding:3px 2px}
.ctbl2 input,.ctbl2 select{width:100%;box-sizing:border-box;height:36px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:inherit;padding:0 6px;min-width:0}
.ctbl2 tr.nv input,.ctbl2 tr.nv select{border-style:dashed;background:transparent}
.ctbl2 tr.part td:first-child{box-shadow:inset 3px 0 0 #f59e0b}
.ctbl2 .miss{border-color:#f59e0b;background:rgba(245,158,11,.08)}
.ctbl2 .gc5{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.ctbl2 .cdel{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--sub);cursor:pointer}
/* 붙여넣기·복사·불러오기 확인 */
.cpend{border:1.5px solid var(--blue);background:var(--blue-soft);border-radius:12px;padding:10px 12px;margin:0 0 10px}
.cpend p{margin:0 0 8px;font-size:14px}
.cpend .w{color:#b45309}
.cprevw{max-height:220px;overflow:auto;margin:0 0 8px;background:var(--card);border-radius:8px}
.cprev{width:100%;border-collapse:collapse;font-size:12.5px}
.cprev th,.cprev td{border:1px solid var(--line);padding:3px 6px;text-align:left}
.cprev tr.iss td{background:rgba(245,158,11,.12)}
@media (max-width:640px){
  .ttabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ctbl2{font-size:13px}
  .ctbl2 input,.ctbl2 select{height:38px;padding:0 4px;font-size:14px}
  .ctbl2 col.cs{width:23%} .ctbl2 col.ct{width:19%} .ctbl2 col.cu{width:12%} .ctbl2 col.cg{width:16%} .ctbl2 col.cx{width:26px}
  .ctbl2 select{padding:0 0 0 3px} .ctbl2 .cdel{width:24px}
  .ctbl2.c5 col.cg{width:27%}
  .ctbl2 th{top:0}
}
/* 결과: 조절바 안내 · 넣지 않은 성적 때문에 빠진 학과 */
.dg .xdv .rhint{position:absolute;left:0;top:calc(100% + 6px);width:64px;font-size:11px;line-height:1.35;color:var(--sub)}
.dg .xmiss{margin:-2px 0 10px;font-size:13.5px;color:var(--sub);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.dg .xmiss b{color:var(--ink)}
/* 낮은 화면(작은 노트북·글씨 확대·가로 태블릿): 위 여백과 제목을 줄여 입력 영역과 이전/다음 버튼이 화면 안에 남게 */
@media (min-width:641px) and (max-height:700px){
  .wrap.wstep{padding-top:8px} body.instep .wrap.wstep .prog{margin:0 0 8px}
  .q.qf{height:clamp(240px,calc(100dvh - 112px),780px)}
  .q.qf .qhd{padding:12px 28px 8px} .q.qf .qhd h1{font-size:20px} .q.qf .qhd .lead{font-size:13.5px}
  .q.qf .qn{padding:8px 28px 10px} .q.qf .qn .btn{padding-top:10px;padding-bottom:10px}
}
/* ---- v3 입력 개편 2차(2026-10-25): 위쪽 복귀 버튼·필수 누락 안내 ---- */
.prog .qret{flex:none;margin-right:2px;padding:6px 10px;font-size:13.5px;white-space:nowrap}
.quick .qf small.hreq,.field small.hreq,.qh small.hreq{color:var(--blue);font-weight:700;font-size:11.5px}
.quick .qf small.hopt,.field small.hopt{color:var(--sub);font-weight:400;font-size:11.5px}
.esum{border:1.5px solid var(--err);background:var(--err-soft);border-radius:12px;padding:9px 12px;margin:0 0 10px;font-size:14px;line-height:1.6}
.esum b{color:var(--err);margin-right:4px}
.esum .elink{background:none;border:0;padding:0;font:inherit;color:var(--ink);text-decoration:underline;cursor:pointer}
.ferr{border-color:var(--err)!important;box-shadow:0 0 0 1px var(--err)}
.chips.ferr,.opts.ferr,.ctbl2.ferr{border:1.5px solid var(--err);border-radius:12px;padding:6px;box-shadow:none}
input.ferr,select.ferr{background:var(--err-soft)!important}
.emsg{display:block;color:var(--err);font-size:12.5px;font-weight:700;margin-top:3px;line-height:1.35;white-space:normal}
.emsg::before{content:'! ';}
/* v3 내신 표: '평균/과목별 + 현재 평균' 한 줄, '현재 학기 + 도구' 한 줄, 기본 행, 표 자리 미리보기 */
.srow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 4px}
.srow .seg2.smode{margin:0;flex:none}
.srow .sinfo{flex:1;min-width:220px;display:flex;flex-direction:column;gap:1px}
.srow .sauto{margin:0}
.q .smn{margin:2px 0 8px}
.thd{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 6px}
.thd .tst{flex:none}
.thd .ttool{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 0 auto}
.thd .ttool .btn.sm{padding:5px 10px;font-size:13px}
i.rq{font-style:normal;color:var(--blue);font-weight:800;margin-left:2px}
.cnote{margin:6px 0 0}
.chint{margin:0 0 8px;padding:7px 10px;border-radius:10px;background:var(--blue-soft);font-size:13.5px;line-height:1.5}
.ctbl2 tr.tpl select[data-c="subject"],.ctbl2 tr.tpl input[data-c="name"]{border-style:dashed;background:var(--soft);color:var(--ink)}
.ctbl2 tr.hl td:first-child{box-shadow:inset 3px 0 0 var(--blue)}
.ctbl2 tr.hl select[data-c="subject"]{border-color:var(--blue)}
.cpend.pv{border:1.5px solid var(--blue);background:var(--blue-soft);border-radius:12px;padding:10px 12px;margin:0}
.pvh{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0 0 6px;font-size:14px}
.pvh .pvs{font-size:12.5px;font-weight:700;color:var(--warn);border:1px solid currentColor;border-radius:999px;padding:0 8px}
.pvm{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.pvm button{border:1.5px solid var(--line);background:var(--card);border-radius:10px;padding:6px 12px;font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer}
.pvm button small{color:var(--sub);margin-left:4px}
.pvm button[aria-checked="true"]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);font-weight:700}
.pvw{background:var(--card);border-radius:8px;margin:0 0 8px;overflow:auto}
.ctbl2.pvt col.cc{width:22%}
.ctbl2.pvt td{padding:5px 4px;border-bottom:1px solid var(--line);vertical-align:top;font-size:13.5px}
.ctbl2.pvt td.iss{background:rgba(245,158,11,.14)}
.ctbl2.pvt .raw{display:block;font-size:11.5px;color:var(--sub)}
.ctbl2.pvt .na{color:var(--sub)}
.ctbl2.pvt td.isx{font-size:12.5px;color:var(--warn);font-weight:700}
.ctbl2.pvt .okx{color:var(--ok);font-weight:400}
.cpend textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit;font-size:14px;background:var(--card);color:var(--ink);margin:0 0 8px;resize:vertical}
.cpend .row-btns{display:flex;flex-wrap:wrap;gap:6px}
.cpend.cbar{margin:0 0 8px}
.prule{margin-top:8px}
.prule .tbl{font-size:12.5px}
@media (max-width:640px){ .thd .ttool{margin-left:0} .srow .sinfo{min-width:0;flex-basis:100%} .ctbl2.pvt col.cc{width:26%} }
/* v3 한 화면: 여백만 줄인다(글자·칸 크기는 그대로) */
.srow .smn{margin:0}
@media (min-width:641px){
  body.instep .wrap.wstep{padding-top:6px}
  body.instep .wrap.wstep .prog{margin:2px 0 8px}
  .q.qf .qhd{padding:14px 28px 8px}
  .q.qf .qb{padding-top:10px}
  .ttabs{margin:2px 0 8px}
  .ttabs button{padding:4px 2px}
  .ctbl2 td{padding:2px 2px}
  .ctbl2 th{padding:4px 3px}
  .q.qf{height:clamp(280px,calc(100dvh - 126px),800px)}
}
/* v3 정시 요약 · 조회할 전형(늘 보임) · 수시 A/B 이름표 */
.jsum{margin:8px 0 2px;padding:7px 10px;border-radius:10px;background:var(--soft);font-size:14px;line-height:1.5}
.jsum small{color:var(--sub);font-size:12.5px}
.jsum .jse{color:var(--sub);margin-left:4px;white-space:nowrap}
.dg .xjt2{margin-top:8px;border-top:1px dashed var(--line);padding-top:8px}
.dg .xjt2 .jth{font-size:13px;font-weight:800;color:var(--ink);white-space:nowrap}
.dg .xjt2 .seg2 button{white-space:nowrap}
.dg .xjt2 .jtsel{flex:1;min-width:0;height:38px;border:1.5px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:15px;padding:0 8px}
.dg .xjt2 .xjn{margin:4px 0 0}
.dg .xjt2 .xjh{margin-top:2px}
.dg .xjt2 .xjh>summary{font-size:12.5px;color:var(--sub)}
.dg .xmiss small{color:var(--sub)}
.abtag{margin:6px 0 6px;font-size:13px;color:var(--sub);line-height:1.5}
.abtag b{color:var(--ink);background:var(--soft);border-radius:6px;padding:1px 6px;margin-right:4px}
.abtag .w,.xline .w{color:var(--warn);font-weight:700}
@media (max-width:640px){ .dg .xjt2 .lvh{display:flex} .dg .xjt2 .lvh .xjg{flex-basis:100%} }
/* v3 PC: 입력 틀을 넓혀 짧은 선택칩을 한 줄에(같은 틀·같은 버튼 자리). 진행 줄 높이 고정(위쪽 버튼이 있든 없든 틀 위치 같게) */
body.instep .wrap.wstep .prog{min-height:35px}
@media (min-width:1024px){ .wrap.wstep{max-width:960px} }
@media (min-width:641px){
  .q.qf .qb .qh{margin:10px 0 6px}
  .q.qf .qb .qh:first-child{margin-top:2px}
  .q.qf .chips{gap:6px}
  .q.qf .chips .chip{padding:8px 12px}
}
/* v3 입력 확인(PC·태블릿): 두 칸으로(항목은 그대로) */
@media (min-width:768px){
  .q.qf dl.sum{display:grid;grid-template-columns:1fr 1fr;column-gap:0}
  .q.qf dl.sum div{padding:9px 14px;border-bottom:1px solid var(--line)}
  .q.qf dl.sum div:nth-child(odd){border-right:1px solid var(--line)}
  .q.qf dl.sum div:last-child{border-bottom:1px solid var(--line)}
  .q.qf .qh.big{margin-top:10px}
}
/* v3 모바일 입력: 칸으로 이동(초점·누락 안내)할 때 아래 고정 버튼·메뉴, 위 머리줄에 가리지 않게 스크롤 여백 */
@media (max-width:640px){ html:has(body.instep){scroll-padding-top:64px;scroll-padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))} }
@media (max-width:640px){ .ctbl2 th .hm{display:none} }
/* 입력 방식 고르기(사용자 지적 2026-10-25): 두 카드를 틀 가운데에 크게 */
.ents2{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:860px;margin:0 auto}
.ent2{position:relative;display:flex;flex-direction:column;gap:14px;text-align:left;border:1.5px solid var(--line);background:var(--card);border-radius:18px;padding:22px 22px 18px;cursor:pointer;font:inherit;color:var(--ink);box-shadow:var(--shadow);transition:border-color .15s,transform .15s}
.ent2:hover,.ent2:focus-visible{border-color:var(--blue);transform:translateY(-2px)}
.ent2 .eh{display:flex;gap:12px;align-items:center}
.ent2 .oi{flex:none;width:48px;height:48px;border-radius:14px;background:var(--blue-soft);display:grid;place-items:center;font-size:23px}
.ent2 .eh b{display:block;font-size:21px;line-height:1.3}
.ent2 .eh small{display:block;color:var(--sub);font-size:14px;margin-top:2px;line-height:1.45}
.ent2 .esec{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);padding-top:12px}
.ent2 .elab{font-size:12px;font-weight:800;color:var(--sub);letter-spacing:.02em}
.ent2 .eli{position:relative;padding-left:14px;font-size:14.5px;line-height:1.45}
.ent2 .eli::before{content:'';position:absolute;left:2px;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--blue)}
.ent2 .ego{margin-top:auto;display:block;text-align:center;background:var(--blue);color:#fff;font-weight:800;font-size:15.5px;border-radius:12px;padding:11px 12px}
.ent2 .elast{position:absolute;top:12px;right:14px;font-size:11.5px;font-weight:700;color:var(--blue);background:var(--blue-soft);border-radius:999px;padding:2px 8px}
.qn.qnote p{margin:0;width:100%;text-align:center;color:var(--sub);font-size:13.5px;line-height:1.5}
@media (min-width:641px){ .q.qf .qb.pickb{display:flex;align-items:center;justify-content:center;padding-top:18px;padding-bottom:18px} .qn.qnote{min-height:62px} }
@media (max-width:640px){ .ents2{grid-template-columns:1fr;gap:12px} .ent2{padding:18px 16px 16px} .ent2 .eh b{font-size:19px} }
/* 태블릿 세로: 카드를 위아래로, 카드 안은 '넣는 것 | 보는 결과' 두 칸 */
@media (min-width:641px) and (max-width:1023px){
  .ents2{grid-template-columns:1fr;max-width:640px;gap:14px}
  .ent2{display:grid;grid-template-columns:1.4fr 1fr;column-gap:18px;row-gap:12px}
  .ent2 .eh,.ent2 .ego{grid-column:1/-1}
}
@media (max-width:640px){ .qn.qnote{position:static;background:none;margin-top:12px;padding-top:0} .ent2{gap:10px} .ent2 .esec{padding-top:9px;gap:3px} .ent2 .eli{font-size:14px} .ent2 .ego{padding:10px} }
/* v3 최종: 결과·관심 대학·학교·학과 상세 위쪽 왼쪽 '← 이전'(입력 화면 위쪽 버튼과 같은 모양·자리) */
.navbk{display:flex;align-items:center;min-height:35px;margin:0 0 6px}
.navbk .qret small,.dhead .btn small{color:var(--sub);font-weight:600;margin-left:2px}
.qret{white-space:nowrap}
/* 점수 조정 버튼 자리 고정(v3 최종): 줄 안 요소가 줄어들지 않게, ↺ 는 처음부터 자리(비활성), 변화량은 줄 끝 고정 칸 */
.dg .ub .row>*{flex:none}
.dg .ub .rvi{margin-left:0;width:34px;height:34px;border:1px solid var(--line);background:var(--card);border-radius:8px}
.dg .rvi:disabled{opacity:.3;cursor:default}
.dg .ub .dd,.dg .ub .dd:empty{display:inline-block;min-width:58px;margin-left:auto;text-align:center}
.dg .ub .dd:empty{visibility:hidden}
.dg .xar .cl>*{flex:none}
@media (max-width:640px){ .dg .ub .rvi{width:32px;height:32px} .dg .ub .row{flex-wrap:wrap;row-gap:2px} .dg .ub .dd,.dg .ub .dd:empty{flex-basis:100%;min-width:0;min-height:17px;margin:0;padding-left:calc(36px + 26px + 15px + 12px);text-align:left;background:none;color:var(--dg-b)} } /* 모바일: 변화량은 버튼 줄 아래 고정 높이 줄(처음부터 자리 확보) */
.unk2{display:inline-block;font-size:12.5px;font-weight:700;color:var(--sub);background:var(--soft);border-radius:6px;padding:1px 7px;line-height:1.4} .qlink{font-size:13.5px;font-weight:700} /* 자료 상태(미확인과 구분): 자료에 없음·미반영·확인 전 */
.qpg{display:block;font-size:11.5px;color:var(--sub);font-weight:400;margin-top:2px}
/* '← 이전' 높이 맞춤: 정시 진단 화면(모바일)은 위 여백이 0이라 버튼 줄에 같은 여백을, 학과 상세 위쪽 줄은 버튼 위 여백을 없애 모든 화면에서 같은 높이 */
@media (max-width:640px){ body:has(.dg .pg) main.wrap > .navbk:first-child{margin-top:12px} } .dhead{padding-top:0}
/* 목표 진단 '다른 학과 고르기'(사용자 지적 2026-10-26): 모바일에서 펼치면 저장 버튼 아래 줄로 내려 검색창·목록이 전체 폭을 쓴다(정시·수시 같은 구조) */
@media (max-width:640px){
  .dg .sec.tbar .mpick[open]{flex:1 1 100%;width:100%}
  .dg .sec.tbar .mpick[open]>summary{text-align:left}
  .dg .sec.tbar .mpick[open] .tpick,.dg .sec.tbar .mpick[open] .s9pick{width:100%}
}
/* 원점수 칸(2026-10-26 시안): 정시 성적 표 '원점수 → 표준점수 → 백분위 → 등급', 간편 입력 [원점수 → 백분위] */
.exsel{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 0 8px;font-size:13px;color:var(--sub)}
.exsel label{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--ink)}
.exsel select{padding:6px 8px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--card);color:var(--ink)}
.exsel small{flex:1;min-width:240px;line-height:1.45}
.sheet .ci.raw{background:var(--soft)}
.sheet .ci.est,.quick .qf input.est{box-shadow:inset 0 0 0 1px var(--warn)}
.quick .qpair{display:flex;align-items:center;gap:4px}
.quick .qpair input{min-width:0;flex:1}
.quick .qpair input.raw{width:100%;padding:8px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:16px;background:var(--soft);color:var(--ink)}
.quick .qarr{color:var(--sub);flex:none}
@media (max-width:640px){ .exsel small{min-width:0;flex-basis:100%} .sheet.wraw .ci{font-size:15px} }
/* 탐구 과목 상자: 좁은 화면에서 화살표를 빼 '통합사회·통합과학'이 잘리지 않게(테두리로 고르는 칸임을 표시) */
@media (max-width:640px){ .sheet.wraw select.ci[id^="f-ik"],.sheet select.ci[id^="f-ik"]{-webkit-appearance:none;appearance:none;background-image:none;font-size:12px;letter-spacing:-.6px;font-weight:700;text-align:center;text-align-last:center;padding:0 1px;border-style:dashed} }

/* 강점 과목으로 보기(2026-10-26 시안): 내 평균 대비 막대(가운데 0선) + 반영 비율 목록 */
.dg .stw{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px 20px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0 0 12px;background:var(--card)}
.dg .stl{margin:0 0 2px;font-size:15px}
.dg .stbs{display:grid;gap:6px}
.dg .stb{display:grid;grid-template-columns:44px minmax(0,1fr) 50px 72px;align-items:center;gap:8px;font-size:13px}
.dg .stb .trk{position:relative;height:16px;background:var(--soft);border-radius:4px}
.dg .stb .trk .z{position:absolute;left:50%;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--ink);opacity:.55}
.dg .stb .trk em{position:absolute;top:2px;bottom:2px;border-radius:3px}
.dg .stb .v{font-weight:800;text-align:right}
.dg .stb .v.up,.dg .stt2 .up,.dg .stl2 .up{color:var(--dg-g)}
.dg .stb .v.dn,.dg .stt2 .dn,.dg .stl2 .dn{color:var(--dg-o)}
.dg .stb small{color:var(--sub);white-space:nowrap}
.dg .sta{display:grid;grid-template-columns:44px minmax(0,1fr) 50px 72px;gap:8px;font-size:11px;color:var(--sub)}
.dg .sta span{grid-column:2;grid-row:1}
.dg .sta span:nth-child(1){justify-self:start}
.dg .sta span:nth-child(2){justify-self:center}
.dg .sta span:nth-child(3){justify-self:end}
.dg .stt{margin:0;font-size:14px;line-height:1.6}
.dg .stt2 td.f .j27bar{margin:0}
.dg .stl2 .j27bar{margin:4px 0}
@media (max-width:640px){ .dg .stw{grid-template-columns:1fr;padding:12px} .dg .stb,.dg .sta{grid-template-columns:36px minmax(0,1fr) 42px 62px;gap:6px} }

/* 원점수 계산: 학년 · 시험 따로(2026-10-26 시안) */
.exsel .ext{color:var(--ink);font-size:13px}
.exsel select option:disabled{color:var(--sub)}

/* 내 성적 | 내 조건 아래 전체 폭 줄: 조회할 전형 | 비교 기준 바꾸기(2026-10-26 좌우 높이 맞춤) */
.dg .xtop>.xopt{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0;margin:0;padding:0;border-top:1px solid var(--line)}
.dg .xtop>.xopt>div{padding:12px 18px;min-width:0}
.dg .xtop>.xopt>.xo2{border-left:1px solid var(--line)}
.dg .xtop>.xopt .xo2>details{margin:0}
@media (max-width:900px){ .dg .xtop>.xopt{grid-template-columns:1fr} .dg .xtop>.xopt>.xo2{border-left:0;border-top:1px solid var(--line)} }

/* 점수를 올리면: 처음 예시 조정 안내(2026-10-26) */
.dg .updef{margin:0 0 8px;padding:8px 12px;border-radius:10px;background:var(--dg-tb);color:var(--ink);font-size:13.5px}

/* ⓘ 설명 마크(2026-10-26): 설명 문단 대신 마크에 올리면/누르면 뜨는 말풍선 */
.ib{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin:0 0 0 4px;padding:0;border:1.5px solid var(--sub);border-radius:50%;background:transparent;color:var(--sub);font:italic 700 10.5px/1 Georgia,'Times New Roman',serif;cursor:help;vertical-align:middle;flex:none;position:relative}
.ib::after{content:'';position:absolute;inset:-8px} /* 손가락으로 누르기 쉬운 범위 */
.ib:hover,.ib:focus-visible{border-color:var(--dg-b,#2563eb);color:var(--dg-b,#2563eb);outline:none}
#iptip{position:fixed;z-index:1000;padding:9px 12px;border-radius:10px;background:var(--ink);color:var(--card);font-size:13px;font-weight:500;line-height:1.55;box-shadow:0 6px 20px rgba(0,0,0,.18);pointer-events:none;white-space:normal;word-break:keep-all}
#iptip[hidden]{display:none}
.dg .itabs{align-items:center}
.dg .itabs .ibr{margin-left:auto;font-size:12.5px;color:var(--sub);display:inline-flex;align-items:center}
.dg .xcon .ib,.dg .lsel .ib,.dg .selline .ib{margin-left:6px}

/* 학과 상세 팝업 · 관심 학과 진단(2026-10-26) */
.dg .dgpop{position:fixed;inset:0;z-index:900;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:24px}
.dg .dgpb{background:var(--bg,#f4f6fb);border-radius:16px;width:min(1000px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 20px 50px rgba(15,23,42,.3);overscroll-behavior:contain}
.dg .dgph{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--line)}
.dg .dgph b{font-size:15px}
.dg .dgpx{border:1px solid var(--line);background:var(--card);border-radius:10px;width:36px;height:36px;font-size:16px;cursor:pointer;color:var(--ink)}
.dg .dgpb>.pg{padding:12px}
@media (max-width:640px){ .dg .dgpop{padding:0;align-items:flex-end} .dg .dgpb{width:100%;max-height:92vh;border-radius:16px 16px 0 0} }
.dg .pdt tr[data-dg-a]{cursor:pointer}
.dg .pdt tr.on>td{background:var(--dg-tb)}
.dg .pdt td small,.dg .pdl2 small{display:block;color:var(--sub);font-size:12px;font-weight:500;margin-top:2px}
.dg .pdt .up,.dg .pdc .up,.dg .pdl2 .up,.dg .pdg2.up{color:var(--dg-g)} .dg .pdt .dn,.dg .pdc .dn,.dg .pdl2 .dn,.dg .pdg2.dn{color:var(--dg-o)}
.dg .pdt b.w,.dg .pdc b.w{color:var(--warn)}
.dg .pdxr>td{padding:0!important;background:var(--soft)}
.dg .pdx{padding:14px 16px;border-top:2px solid var(--dg-b)}
.dg .pdxh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px} .dg .pdxh>b{font-size:15.5px} .dg .pdxb{margin-left:auto;display:flex;gap:6px}
.dg .pdg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dg .pdq{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:0}
.dg .pdq h4{margin:0 0 8px;font-size:14px}
.dg .pdn{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.dg .pdn>div{background:var(--soft);border-radius:10px;padding:8px 10px} .dg .pdn small{display:block;color:var(--sub);font-size:12px} .dg .pdn b{font-size:18px}
.dg .pdn .up b{color:var(--dg-g)} .dg .pdn .dn b{color:var(--dg-o)}
.dg .pdl{margin:8px 0 0;font-size:13px;color:var(--sub)}
.dg .pdoff{margin-top:8px} .dg .pdoff small{display:block;color:var(--sub);font-size:12px;margin-bottom:4px}
.dg .pdb{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.dg .pdt4{margin:0;font-size:13px} .dg .pdt4 th,.dg .pdt4 td{padding:6px 8px}
.dg .pdcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.dg .pdc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer}
.dg .pdc.on{border-color:var(--dg-b);box-shadow:0 0 0 2px var(--dg-tb)}
.dg .pdc .l1{margin:0;font-size:14.5px} .dg .pdc .l3{margin:2px 0 6px;font-size:12px;color:var(--sub)}
.dg .pdg2{margin:0 0 8px;font-size:20px;font-weight:800} .dg .pdg2 small{font-size:12px;font-weight:600;color:var(--sub);margin-left:6px}
.dg .pdc dl{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 8px;margin:0;font-size:13px} .dg .pdc dt{color:var(--sub)} .dg .pdc dd{margin:0}
.dg .pdc dd small{color:var(--sub)}
.dg .pdsel{margin-top:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.dg .pdl2 li.on{background:var(--dg-tb)} .dg .pdl2 .l4{margin:2px 0 0;font-size:12.5px}
@media (max-width:900px){ .dg .pdg{grid-template-columns:1fr} }
@media (max-width:640px){ .dg .pdx{padding:10px} .dg .pdn b{font-size:16px} .dg .pdxb{margin-left:0} }
@media (max-width:640px){ .dg .pdt4{width:100%;table-layout:auto} .dg .pdt4 thead{display:none} .dg .pdt4 tr{display:block;padding:6px 0;border-bottom:1px solid var(--line)} .dg .pdt4 th,.dg .pdt4 td{display:block;padding:1px 0!important;border:0!important;text-align:left;white-space:normal} .dg .pdt4 th{font-weight:800} .dg .pdx .xchk li{min-width:0} .dg .pdq{overflow-wrap:anywhere} }
.dg .pdl2>li{flex-wrap:wrap} .dg .pdl2>li>.pdx{flex:0 0 100%;width:100%;box-sizing:border-box}
@media (max-width:640px){ .dg .pdx .xchk li{display:block} .dg .pdx .xchk li>b{display:block;margin-bottom:2px} .dg .pdn{grid-template-columns:repeat(3,minmax(0,1fr))} .dg .pdn small{font-size:11px} }

/* 합계 조합 줄(2026-10-26): 왼쪽 글자가 두 줄(합계 · 조합) */
.dg .xeff .eb.ec{align-items:center} .dg .xeff .eb.ec>span:first-child{display:flex;flex-direction:column;line-height:1.3} .dg .xeff .eb.ec small{font-size:11.5px;color:var(--sub);font-weight:600}
.dg .stt2 td.f{font-size:13px} .dg .stref{margin-top:6px} .dg .stref small,.dg .stref0{display:block;font-size:11.5px;color:var(--sub);margin:0 0 2px} .dg .stref .j27bar{opacity:.85}
.dg .p27{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)} .dg .p27>h4{margin:0 0 6px;font-size:14px}
/* 관심 학과 진단 개편 시안(2026-10-26): 기본 계산 → 이 학교 계산, 할 일, 더 받으면 */
.dg .pdfx{margin:2px 0 4px;font-size:20px;font-weight:800;letter-spacing:-.01em} .dg .pdfx b.up{color:var(--dg-g)} .dg .pdfx b.dn{color:var(--dg-o)}
.dg .pdwhy{margin:0 0 6px;font-size:14px;line-height:1.5}
.dg .pdfx1{display:block;font-weight:700} .dg .pdfx1 b.up{color:var(--dg-g)} .dg .pdfx1 b.dn{color:var(--dg-o)}
.dg .pdt td small,.dg .pdc dd small,.dg .pdl2 .l4 small{display:block;color:var(--sub);font-size:12px;font-weight:400;line-height:1.4;margin-top:2px}
.dg .pdt td b.up,.dg .pdc dd b.up,.dg .pdl2 b.up{color:var(--dg-g)} .dg .pdt td b.w,.dg .pdc dd b.w,.dg .pdl2 b.w{color:var(--dg-o)} .dg .pdt td b.dn,.dg .pdc dd b.dn,.dg .pdl2 b.dn{color:var(--warn)}
.dg .pdok{margin:2px 0 8px;color:var(--dg-g);font-weight:700}
.dg .pdtodo li.need>b{color:var(--dg-o)} .dg .pdtodo li.warn>b{color:var(--warn)} .dg .pdtodo .dbtn{margin-left:6px;vertical-align:middle}
.dg .pdpub{margin-top:12px} .dg .pdsub{margin:0 0 4px;font-weight:700;font-size:14px} .dg .pdsub small{color:var(--sub);font-weight:400;margin-left:4px}
.dg .pdt5{width:auto;min-width:0;margin:0 0 4px} .dg .pdt5 th,.dg .pdt5 td{padding:4px 10px;text-align:center;font-size:14px} .dg .pdt5 tbody th{text-align:left;color:var(--sub);font-weight:600}
@media (max-width:640px){ .dg .pdfx{font-size:18px} .dg .pdt5{width:100%} .dg .pdt5 th,.dg .pdt5 td{padding:4px 6px} }
/* 점수를 올리면: 기본 예시 고르기(시안) */
.dg .upm{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px} .dg .upm>span{font-size:13px;color:var(--sub);font-weight:700}
/* 학교별 입결: 2027 정시 모집 칸(2026-10-26) */
.sc-t td.sc-27{white-space:nowrap} .sc-t td.sc-27 small.g27{color:var(--sub);font-size:11px;margin-right:2px} .sc-t td.sc-27 sup{font-size:10px;color:var(--sub);margin-left:1px} .sc-t td.sc-27 small.nsu{display:block;font-size:10px;color:var(--warn)}
.sc-mc .sc-27m,.sc-oc .sc-27m{color:var(--sub)} .sc-mc .sc-27m small.g27,.sc-oc .sc-27m small.g27{margin-right:2px}
/* 학과 상세: 반영 비율 한눈에 · 2028 방식 내 점수(시안 2026-10-26) */
.rv{margin:12px 0 4px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.rvh{margin:0 0 8px;display:flex;align-items:baseline;gap:8px}.rvh b{font-size:14.5px}.rvh small{color:var(--sub);font-size:12px}
.rvr{display:grid;grid-template-columns:128px 1fr;gap:4px 12px;align-items:center;padding:7px 0;border-top:1px dashed var(--line)}
.rvr:first-of-type{border-top:0}
.rvl b{display:block;font-size:13px}.rvl small{display:block;font-size:11.5px;color:var(--sub);line-height:1.35}
.rvc{min-width:0}.rvc .j27bar{margin:2px 0}.rvsub{display:block;font-size:11.5px;color:var(--sub);margin:4px 0 1px}
.j27s.x{background:repeating-linear-gradient(135deg,#5d6b86 0 6px,#6c7a96 6px 12px)}
.rvt{display:flex;flex-wrap:wrap;gap:4px;margin:5px 0 0}.rvt span,.r28tags span{font-size:11.5px;padding:1px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--sub)}
.rvnone{color:var(--sub)}
.rvme{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:10px 0 0;padding-top:9px;border-top:1px solid var(--line)}
.rvme small{color:var(--sub);font-size:12px;margin-right:2px}
.rvme span{font-size:12.5px;font-weight:700;padding:2px 9px;border-radius:999px;color:#fff}
.rvme .k{background:#4f6bed}.rvme .m{background:#1f9d85}.rvme .t{background:#8b5fd6}.rvme .e{background:#d48a1c}.rvme .h{background:#7b8597}
.rvins{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.55}.rvins li{margin:2px 0}
.r28card .rule.r28 .score{font-size:30px;font-weight:800;margin:4px 0 0}
.r28lab{margin:0 0 6px}
.gain{display:flex;width:100%;height:46px;border-radius:10px;overflow:hidden;margin:6px 0 4px;gap:2px}
.gs{position:relative;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.gs i{position:absolute;left:0;top:0;bottom:0;opacity:.9}
.gs.k i{background:#4f6bed}.gs.m i{background:#1f9d85}.gs.e i{background:#d48a1c}.gs.t i{background:#8b5fd6}.gs.h i{background:#7b8597}.gs.x i{background:#5d6b86}
.gs em{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;font-style:normal;font-size:12px;padding:0 2px;overflow:hidden;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);white-space:nowrap;line-height:1.15}
.gs em small{font-size:10.5px;opacity:.9}
.gnote{margin:2px 0 6px}
.r28tags{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}
.r28d{margin:6px 0 0}.r28d>summary{cursor:pointer;font-size:13px;color:var(--blue);font-weight:700}
@media (max-width:767px){ .rv{padding:10px 11px} .rvr{grid-template-columns:1fr;gap:3px} .rvl{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap} .rvl b{display:inline} .rvl small{display:inline} .gs em{font-size:11px} .gain{height:46px} }
.gleg{display:none}
@media (max-width:767px){ .gain{height:20px;border-radius:7px} .gs em{display:none} .gleg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin:4px 0 6px;font-size:12.5px} .gleg span{display:flex;align-items:baseline;gap:4px} .gleg span::before{content:'';width:9px;height:9px;border-radius:3px;flex:0 0 auto;align-self:center} .gleg .k::before{background:#4f6bed}.gleg .m::before{background:#1f9d85}.gleg .e::before{background:#d48a1c}.gleg .t::before{background:#8b5fd6}.gleg .h::before{background:#7b8597}.gleg .x::before{background:#5d6b86} .gleg small{color:var(--sub)} }
@media (max-width:767px){ .p27 .kvg.kvs>div{flex:1 1 calc(50% - 8px);max-width:none;padding:7px 8px} .p27 .kvg.kvs b{font-size:14px} }
.reftag{display:inline-block;vertical-align:middle;margin-left:8px;font-size:12px;font-weight:700;color:#8a5a00;background:#fff4dc;border:1px solid #f1d9a6;border-radius:999px;padding:2px 9px}
.altnote{margin:2px 0 4px}
/* 펼침 상태에 맞는 안내(사용자 지적 2026-10-26) */
.p28f .p28o{display:none}.p28f[open] .p28c{display:none}.p28f[open] .p28o{display:inline}
.dg .seg2 button small{font-size:11px;font-weight:500;opacity:.75;margin-left:2px}
.dg .xalimi{margin-top:14px}.dg .xalimi .qh{font-weight:700;margin:0 0 4px}

/* 차이 색 통일(2026-10-27): 내 점수가 높으면 초록, 낮으면 주황, 거의 같으면 회색 */
.dg .stat3 .eq b,.dg .xcd .xdf.eq b,.dg .cmpt .cdf.eq{color:var(--sub)} .dg .m3 .g small{display:block;font-size:11px;color:var(--sub)}
/* 관심 학과 표 차이(내 점수 기준) · 진단·비교 머리의 목록 관리 링크 */
.fvt .gup{color:var(--gup)}.fvt .gdn{color:var(--gdn)}.fvt .geq{color:var(--sub)}
.dg .pgh .pgl{margin-left:auto;font-size:13px}
.flist .gup{color:var(--gup)}.flist .gdn{color:var(--gdn)}.flist .geq{color:var(--sub)}
.dg .xdhead .flab{font-style:normal;font-weight:800;font-size:13px;color:var(--dg-b);background:var(--dg-tb);border-radius:999px;padding:2px 9px;margin:0 2px;white-space:nowrap}
.dg .xyt .pv{display:inline-block;margin-left:6px;font-size:11px;color:var(--sub);border:1px solid var(--line);border-radius:999px;padding:0 6px}
.dg .xyt .pv{display:inline-block;margin-left:6px;font-size:11px;color:var(--sub);border:1px solid var(--line);border-radius:999px;padding:0 6px}
/* 차이 색(사용자 지시 2026-10-27): 내 점수가 입결보다 높으면 빨강, 낮으면 파랑, 거의 같으면 회색 — 모든 화면 같은 색 */
:root{--gup:#12924f;--gdn:#d93a3f} /* 여유 녹색 · 부족 빨강(사용자 결정 2026-10-27) */
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--gup:#3ccf7e;--gdn:#ff6b6f}}
:root[data-theme="dark"]{--gup:#3ccf7e;--gdn:#ff6b6f}
.gup,.dg .d.up,.dg td.d.up,.dg .stat3 .up b,.dg .m3 .g.up b,.dg .xcd .xdf.up b,.dg .cmpt .cdf.up,.dg .cmpt .cd.up,.dg .xlt td.d.up,.dg .xlt td.p b.d.up,.dg .xcdm .l3>b.up,.dg .xvs b.up,.dg .cdm .sr>b.up,.dg .pdn .up b,.s9n .dn b{color:var(--gup)!important}
.gdn,.dg .d.dn,.dg td.d.dn,.dg .stat3 .dn b,.dg .m3 .g.dn b,.dg .xcd .xdf.dn b,.dg .cmpt .cdf.dn,.dg .cmpt .cd.dn,.dg .xlt td.d.dn,.dg .xlt td.p b.d.dn,.dg .xcdm .l3>b.dn,.dg .xvs b.dn,.dg .cdm .sr>b.dn,.dg .pdn .dn b,.s9n .up b{color:var(--gdn)!important}
.geq{color:var(--sub)}
.rtbl th small{display:block;font-size:11px;font-weight:500;color:var(--sub)}
.rtbl td.n b{font-weight:800}
.rtbl td.n small.i{display:inline;margin-left:1px} /* 경쟁률 ":1" 한 줄(2026-10-27) */
.lcommon{margin:4px 0 8px}
.lcommon .wtag{margin-right:2px}
/* 꼭 확인(사용자 지시 2026-10-27): 지원·점수에 직접 걸리는 조건만 — 눈에 띄게 */
.mustbox{border:2px solid #e5484d;background:rgba(229,72,77,.07);border-radius:12px;padding:10px 14px;margin:0 0 12px}
.mustbox .mbh{margin:0 0 4px;font-weight:900;color:#d93a3f;font-size:15px}.mustbox .mbh small{font-weight:600;color:var(--sub);font-size:12px;margin-left:6px}
.mustbox ul{margin:0;padding-left:18px}.mustbox li{margin:3px 0;font-size:14px;line-height:1.5}.mustbox li b{color:#d93a3f;margin-right:4px}
.wtag.must{background:rgba(229,72,77,.12);color:#d93a3f;border-color:rgba(229,72,77,.35);font-weight:800}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .mustbox .mbh,:root:not([data-theme="light"]) .mustbox li b,:root:not([data-theme="light"]) .wtag.must{color:#ff7b7f}}
:root[data-theme="dark"] .mustbox .mbh,:root[data-theme="dark"] .mustbox li b,:root[data-theme="dark"] .wtag.must{color:#ff7b7f}

/* 학교 환산점수 비교(2026-10-27): 상세 상자 · 목록 꼬리표 · 만점 */
.dg small.mx{font-size:.5em;font-weight:700;color:var(--sub);margin-left:2px}
.dg .cvx{margin:10px 0 4px;padding:12px 14px;border:1px solid var(--line,#dfe3ea);border-radius:12px;background:var(--card,#fff)}
.dg .cvx .cvh{margin:0 0 6px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}
.dg .cvx .cvh small{color:var(--sub);font-size:12px}
.dg .cvx .cvr{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline}
.dg .cvx .cvr span{color:var(--sub)} .dg .cvx .cvr span b{color:var(--ink,inherit);font-size:18px}
.dg .cvx .cvd{font-size:20px;font-weight:900;color:var(--sub);margin-left:auto}
.dg .cvx.up .cvd{color:var(--gup)} .dg .cvx.dn .cvd{color:var(--gdn)}
.dg .cvx .cvw{margin:6px 0 0;font-weight:800;color:var(--gdn)}
.dg .cvx .cvn{margin:0;color:var(--sub)}
.dg .cvf{display:block;font-size:11.5px;font-weight:800;white-space:nowrap}
.dg .cvf.up{color:var(--gup)} .dg .cvf.dn{color:var(--gdn)}
.dg .jml .l2b{margin:0}
@media (max-width:720px){ .dg .cvx .cvd{margin-left:0;width:100%} }
.dg small.mx2{color:var(--sub);font-weight:600;white-space:nowrap}
small.mx2{color:var(--sub);font-weight:600;white-space:nowrap}
@media (max-width:720px){ small.mx2{display:block;font-size:11px;line-height:1.2} }

/* 연도별 표 환산 행의 내 환산점수(2026-10-27) — 지표 칸 아래 줄 */
small.cvm{display:block;margin-top:3px;font-size:12px;font-weight:700;line-height:1.35;color:var(--sub)}
small.cvm.up{color:var(--gup)}small.cvm.dn{color:var(--gdn)}small.cvm.na{font-weight:600}
small.cvm i{font-style:normal}small.cvm span{white-space:nowrap}
p.note small.cvm{display:inline;margin-left:4px}
@media (max-width:720px){ td small.cvm i{display:none} td small.cvm span{display:block} }
small.cvm em.uv{display:inline-block;margin-left:6px;padding:0 5px;border:1px solid var(--line,#d5d9e0);border-radius:6px;font-style:normal;font-weight:600;font-size:11px;color:var(--sub)}
@media (max-width:720px){ td small.cvm em.uv{margin:2px 0 0} }
small.uvt{display:block;margin-top:2px;font-size:11px;font-weight:600;color:var(--sub)}
/* ---- 학과 진단 개편(2026-10-27): 학교 점수 결론 · 진단 카드 · 점수 바꿔 보기 · 관심 학과 막대 ---- */
.dg .dxh{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 4px}
.dg .dxh>div{background:var(--soft);border-radius:14px;padding:12px 14px;min-width:0}
.dg .dxh span{display:block;font-size:13px;color:var(--sub);font-weight:700}
.dg .dxh b{display:block;font-size:28px;font-weight:800;line-height:1.2;margin-top:4px}
.dg .dxh .dn b{color:var(--gdn)} .dg .dxh .up b{color:var(--gup)} .dg .dxh .eq b{color:var(--sub)}
.dg .dxbasis{font-size:13px;color:var(--sub);margin:6px 0 2px;line-height:1.5}
.dg .dxbasis .ref{display:block;margin-top:2px;color:var(--ink);font-weight:600}
.dg .dxsh{font-size:16px;font-weight:800;margin:18px 0 8px}
.dg .dxsh small{font-size:12px;font-weight:600;color:var(--sub);margin-left:6px}
.dg .dxg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dg .dxc{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--card);min-width:0;border-left-width:4px}
.dg .dxc.t-bad{border-left-color:var(--gdn)} .dg .dxc.t-good{border-left-color:var(--gup)} .dg .dxc.t-warn{border-left-color:var(--dg-o)} .dg .dxc.t-info{border-left-color:var(--dg-b)}
.dg .dxt{margin:0;display:flex;gap:8px;align-items:flex-start;line-height:1.4}
.dg .dxt b{font-size:15px}
.dg .bdg{display:inline-block;flex:none;border-radius:6px;padding:1px 7px;font-size:12px;font-weight:800;white-space:nowrap}
.dg .bdg.dn{background:var(--dg-tr);color:var(--gdn)} .dg .bdg.up{background:var(--dg-tg);color:var(--gup)} .dg .bdg.w{background:var(--dg-to);color:var(--warn)} .dg .bdg.i{background:var(--dg-tb);color:var(--dg-b)}
.dg .dxx{font-size:13.5px;line-height:1.6;margin-top:6px;color:var(--ink)}
.dg .dxx small{display:block;color:var(--sub);font-size:12px;margin-top:2px}
.dg .dxx ul{margin:0;padding-left:18px}
.dg .dxx b.dn{color:var(--gdn)} .dg .dxx b.up{color:var(--gup)} .dg .dxx b.eq{color:var(--sub)}
.dg .dxcmp{display:grid;gap:6px;margin-top:8px}
.dg .dxcmp span{display:grid;grid-template-columns:110px 70px 1fr;align-items:center;gap:6px;font-size:12px}
.dg .dxcmp small{color:var(--sub)} .dg .dxcmp b{font-size:12.5px;text-align:right}
.dg .dxcmp i{display:block;height:8px;border-radius:4px;background:var(--gdn)} .dg .dxcmp i.up{background:var(--gup)}
.dg .dxeng{display:flex;gap:4px;margin-top:8px}
.dg .dxeng span{flex:1;text-align:center;background:var(--soft);border-radius:8px;padding:4px 0;min-width:0}
.dg .dxeng span.on{background:var(--dg-tr);outline:2px solid var(--gdn)}
.dg .dxeng b{display:block;font-size:13px} .dg .dxeng small{font-size:11px;color:var(--sub)}
.dg .dxbars,.dg .dxup{margin-top:8px;display:grid;gap:6px}
.dg .dxbars>div,.dg .dxup>div{display:grid;grid-template-columns:72px 1fr 64px;align-items:center;gap:8px;font-size:12.5px}
.dg .dxbars .tr,.dg .dxup .tr{position:relative;height:10px;background:var(--soft);border-radius:5px}
.dg .dxbars .me{position:absolute;left:0;top:0;bottom:0;background:var(--dg-b);border-radius:5px;opacity:.75}
.dg .dxbars .th{position:absolute;top:-3px;bottom:-3px;width:3px;margin-left:-1px;background:var(--ink);border-radius:2px}
.dg .dxbars b,.dg .dxup b{text-align:right;font-size:12.5px} .dg .dxbars b small{color:var(--sub);font-weight:600}
.dg .dxbars b.dn{color:var(--gdn)} .dg .dxbars b.up{color:var(--gup)}
.dg .dxup .tr i{position:absolute;left:0;top:0;bottom:0;background:var(--dg-t);border-radius:5px}
.dg .dxup em{font-style:normal;font-size:11px;color:var(--warn);font-weight:700}
.dg .dxbars .lg,.dg .dxup .lg{margin:2px 0 0;font-size:11.5px;color:var(--sub);display:flex;gap:6px;align-items:center}
.dg .dxbars .lg i.lme{display:inline-block;width:12px;height:8px;border-radius:3px;background:var(--dg-b);opacity:.75} .dg .dxbars .lg i.lth{display:inline-block;width:3px;height:12px;background:var(--ink);margin-left:8px}
.dg .dxtry{margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:10px 14px;background:var(--card)}
.dg .dxtry summary{cursor:pointer;font-weight:800;font-size:15px}
.dg .dxtry summary small{font-weight:600;color:var(--sub);font-size:12px;margin-left:6px}
.dg .dxsg{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-top:10px}
.dg .dxs{background:var(--soft);border-radius:12px;padding:8px;text-align:center;position:relative}
.dg .dxs.on{outline:2px solid var(--dg-b)}
.dg .dxs small{display:block;font-size:12px;color:var(--sub);font-weight:700}
.dg .dxs>div{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}
.dg .dxs button{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--card);font-size:18px;font-weight:700;color:var(--ink);cursor:pointer}
.dg .dxs button:disabled{opacity:.35;cursor:default}
.dg .dxs b{font-size:20px;min-width:34px}
.dg .dxs i{display:block;font-style:normal;font-size:11.5px;color:var(--dg-b);font-weight:700;margin-top:2px}
.dg .dxres{margin:10px 0 2px;font-size:14px;padding:8px 12px;border-radius:10px;background:var(--soft)}
.dg .dxres,.dg .dxres b,.dg .dxres small{color:var(--ink);display:inline} .dg .dxres{display:block} .dg .dxres.g-dn .gv{color:var(--gdn)} .dg .dxres.g-up .gv{color:var(--gup)} .dg .dxres.g-eq .gv{color:var(--sub)} .dg .dxres .lnk{display:inline}
.dg .dxres small{color:var(--sub)!important}
.dg .dxchk .pdb{margin-top:8px}
.dg .dxfav{display:grid;gap:4px}
.dg .dxfr{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) minmax(0,1fr);align-items:center;gap:10px;padding:6px 8px;border:0;border-radius:10px;background:none;text-align:left;cursor:pointer;font:inherit;color:var(--ink)}
.dg .dxfr:hover{background:var(--soft)} .dg .dxfr.on{background:var(--dg-tb)}
.dg .dxfr .nm{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg .dxfr .tr{position:relative;height:14px;background:linear-gradient(90deg,transparent calc(50% - 1px),var(--line) calc(50% - 1px),var(--line) calc(50% + 1px),transparent calc(50% + 1px)),var(--soft);border-radius:7px}
.dg .dxfr .tr i{position:absolute;top:2px;bottom:2px;border-radius:5px;background:var(--gdn)} .dg .dxfr .tr i.up{background:var(--gup)} .dg .dxfr .tr i.eq{background:var(--gray-dot)}
.dg .dxfr .v{font-size:13px;font-weight:800;text-align:right} .dg .dxfr .v.dn{color:var(--gdn)} .dg .dxfr .v.up{color:var(--gup)} .dg .dxfr .v.eq{color:var(--sub)}
.dg .dxfr .v small{display:block;font-weight:600;color:var(--sub);font-size:11px}
.dg .dxfav .lg{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) minmax(0,1fr);font-size:11.5px;color:var(--sub);margin:2px 0 0;padding:0 8px}
.dg .dxfav .lg .ax{display:flex;justify-content:space-between}
.dg .dxfav .lg .dn{color:var(--gdn)} .dg .dxfav .lg .up{color:var(--gup)}
.dg td.pdtop{font-size:13.5px;line-height:1.5}
@media (max-width:720px){
  .dg .dxh{gap:6px;grid-template-columns:1fr 1fr} .dg .dxh>div{padding:8px 10px;border-radius:12px} .dg .dxh span{font-size:12px} .dg .dxh b{font-size:21px} .dg .dxh>div:last-child{grid-column:1/3;display:flex;align-items:center;justify-content:space-between} .dg .dxh>div:last-child b{margin:0}
  .dg .dxg{grid-template-columns:1fr}
  .dg .dxcmp span{grid-template-columns:96px 64px 1fr}
  .dg .dxbars>div,.dg .dxup>div{grid-template-columns:64px 1fr 58px}
  .dg .dxfr{grid-template-columns:minmax(0,1fr) 104px;row-gap:2px}
  .dg .dxfr .nm{grid-column:1/3} .dg .dxfr .tr{grid-column:1} .dg .dxfr .v{grid-column:2}
  .dg .dxfav .lg{grid-template-columns:minmax(0,1fr) 104px} .dg .dxfav .lg>span:first-child{display:none} .dg .dxfav .lg .ax{grid-column:1}
  .dg .dxsg{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* 반영 비율 숫자(2026-10-27) */
.rvnum{display:flex;flex-wrap:wrap;gap:6px}
.rvnum span{display:flex;align-items:baseline;gap:4px;border-radius:10px;padding:4px 10px;background:var(--soft);border-left:4px solid #7b8597}
.rvnum span.k{border-left-color:#4f6bed}.rvnum span.m{border-left-color:#1f9d85}.rvnum span.e{border-left-color:#d48a1c}.rvnum span.t{border-left-color:#8b5fd6}.rvnum span.h{border-left-color:#7b8597}
.rvnum small{font-size:12px;color:var(--sub);font-weight:700}.rvnum b{font-size:17px;font-weight:800}
/* 메뉴(2026-10-27): 아이콘 + 글자, 지금 화면은 파란 바탕 */
.top-nav{gap:2px;background:var(--soft);padding:4px;border-radius:14px}
.top-nav button,.top-nav a{display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;color:var(--sub);font-size:14px;font-weight:600;white-space:nowrap}
.top-nav button:hover,.top-nav a:hover{background:var(--card);color:var(--ink)}
.top-nav .on,.top-nav [aria-current="page"]{background:var(--card);color:var(--blue);font-weight:800;box-shadow:0 1px 3px rgba(16,24,40,.12)}
.top-nav .ni{width:18px;height:18px}
.ni{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.top-nav .fav-n:empty{display:none}
.top-nav .fav-n{background:var(--blue);color:var(--blue-ink);border-radius:999px;font-size:11px;font-weight:800;padding:0 6px;line-height:17px;min-width:17px;text-align:center}
.tabbar button,.tabbar a{gap:3px;font-weight:600;position:relative}
.tabbar .ni{width:22px;height:22px}
.tabbar .on,.tabbar [aria-current="page"]{color:var(--blue);font-weight:800}
.tabbar .on::before,.tabbar [aria-current="page"]::before{content:"";position:absolute;top:-4px;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--blue)}
.dxwhy{margin:8px 0 0;padding:8px 10px;border-radius:10px;background:var(--soft);font-size:13.5px;line-height:1.6;color:var(--ink)}
.dxtip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:10px 0;padding:10px 12px;border-radius:12px;background:var(--blue-band);border:1px solid var(--blue-soft)}
.dxtip .tl{flex:none;background:var(--blue);color:var(--blue-ink);font-size:11px;font-weight:800;letter-spacing:.06em;border-radius:6px;padding:2px 7px}
.dxtip p{margin:0;flex:1 1 260px;min-width:0;font-size:14px;line-height:1.55}
.dxtip1{margin:6px 0 0;font-size:13px;color:var(--sub)}
.dxwhy small,.dg .dxwhy small,.dg .pdt td .dxwhy small,.dg .pdc dd .dxwhy small,.dg .pdl2 .dxwhy small{display:inline;margin:0;font-size:12.5px;line-height:inherit;color:var(--sub);font-weight:400}
/* 과목 비교·효과 카드 숫자 한 줄(2026-10-27) */
.dg .dxbars b,.dg .dxup b{white-space:nowrap}
.dg .dxbars b .of,.dg .dxup b .of{color:var(--sub);font-weight:600;font-size:11.5px}
.dg .dxbars>div{grid-template-columns:72px 1fr 78px}
.dg .dxup>div{grid-template-columns:118px 1fr 96px}
.dg .dxup .uh{margin:0 0 2px;font-size:12.5px;color:var(--ink)}
@media (max-width:767px){ .dg .dxbars>div{grid-template-columns:52px 1fr 72px} .dg .dxup>div{grid-template-columns:100px 1fr 84px} .dg .dxup>div>span{font-size:12px} }
/* 머리 상자 점수와 만점 한 줄(2026-10-27) */
.dg .dxh b small.mx,.dg .pdt td .dxh b small.mx,.dg .pdc dd .dxh b small.mx{display:inline;font-size:.5em;margin:0 0 0 2px;white-space:nowrap}
.dg .dxh b{white-space:nowrap}
/* 효과 카드: 과목별 곱하는 수 + 과목마다 한 줄(2026-10-27) */
.dg .dxmul{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 2px}
.dg .dxmul span{background:var(--soft);border-radius:10px;padding:5px 10px;font-size:14px;font-weight:800;white-space:nowrap}
.dg .dxmul span b{font-weight:700;color:var(--sub);margin-right:2px}
.dg .dxmul span small,.dg .pdt td .dxmul span small{display:inline;margin-left:4px;font-size:11px;font-weight:600;color:var(--sub)}
.dg .dxmn{margin:4px 0 0;font-size:12px;color:var(--sub)}
.dg .dxsub{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:7px}
.dg .dxsub li{font-size:13.5px;line-height:1.55;padding-left:10px;border-left:3px solid var(--line)}
.dg .dxsub li:first-child{border-left-color:var(--dg-t)}
.dg .dxsub li i{font-style:normal;font-weight:800;color:var(--blue)}
.dg .dxcon{margin:10px 0 0;font-size:14px}
/* 유불리: 두 기준 숫자 나란히(2026-10-27) */
.dg .dxfit{display:grid;gap:6px;margin-top:4px}
.dg .dxfit>div{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) auto;grid-template-areas:"k v g" "k v p";align-items:center;column-gap:10px;background:var(--soft);border-radius:10px;padding:7px 10px;font-size:13px}
.dg .dxfit .k{grid-area:k;font-weight:800}
.dg .dxfit .k small,.dg .pdt td .dxfit .k small{display:block;font-size:11px;font-weight:600;color:var(--sub)}
.dg .dxfit .v{grid-area:v;color:var(--sub)} .dg .dxfit .v b{color:var(--ink)}
.dg .dxfit>div>b{grid-area:g;text-align:right;white-space:nowrap} .dg .dxfit>div>b.dn{color:var(--gdn)} .dg .dxfit>div>b.up{color:var(--gup)}
.dg .dxfit .p{grid-area:p;text-align:right;font-size:11.5px;color:var(--sub);white-space:nowrap}
.dg .dxfc{margin:8px 0 0;font-size:13.5px;line-height:1.55}
.dg .dxsub li small,.dg .pdt td .dxsub li small{display:inline;font-size:12px;color:var(--sub)}
.dg .dxfit .p i,.dg .dxfc i{font-style:normal;font-weight:800} .dg .dxfit .p i.dn,.dg .dxfc i.dn{color:var(--gdn)} .dg .dxfit .p i.up,.dg .dxfc i.up{color:var(--gup)} .dg .dxfit .p i.eq,.dg .dxfc i.eq{color:var(--sub)}
@media (max-width:767px){ .dg .dxfit>div{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k k" "v g" "v p";row-gap:2px} .dg .dxfit .k small,.dg .pdt td .dxfit .k small{display:inline;margin-left:4px} .dg .dxfit .v{white-space:nowrap} }
/* 모바일 관심 학과 목록(.jml li 가로 배치) 안의 진단 카드 목록은 원래대로 */
.dg .jml .dxc li,.dg .s9ml .dxc li{display:list-item;border-bottom:0}
.dg .jml .dxsub li,.dg .s9ml .dxsub li{display:block;border-bottom:0}
/* 점수 바꿔 보기: 곱하는 수·환산 변화, 결과 한 줄(2026-10-27) */
.dg .dxs small em,.dg .pdt td .dxs small em{font-style:normal;color:var(--blue);font-weight:800;margin-left:2px}
.dg .dxs small em.z{color:var(--sub);font-weight:600}
.dg .dxs i b{color:var(--ink);font-size:12px;min-width:0}
.dg .dxres,.dg .pdt td .dxres{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;line-height:1.5}
.dg .dxres>span{white-space:nowrap}
.dg .dxres em{font-style:normal;color:var(--sub);font-size:12.5px}
.dg .pdt td .dxres b,.dg .pdt td .dxres em{display:inline}
@media (max-width:767px){ .dg .dxres>span{white-space:normal} .dg .dxres b,.dg .dxres em{white-space:nowrap} }
/* 성적 향상 전략 카드(2026-10-27) */
.dg .dxst{display:grid;gap:6px;margin-top:2px}
.dg .dxst .sl{margin:0;font-size:13.5px;line-height:1.6}
.dg .dxst .sl>span{display:block;font-size:12px;font-weight:700;color:var(--sub)}
.dg .dxst small,.dg .pdt td .dxst small{display:inline;font-size:11.5px;color:var(--sub);font-weight:500}
.dg .dxst .sh{margin:6px 0 0;font-size:12.5px;font-weight:800}
.dg .dxst .rows{display:grid;gap:7px}
.dg .dxst .rows>div{display:grid;grid-template-columns:44px minmax(60px,140px) 1fr;align-items:center;gap:8px;font-size:13px}
.dg .dxst .n{font-weight:800}
.dg .dxst .b{height:10px;background:var(--soft);border-radius:5px;position:relative;overflow:hidden}
.dg .dxst .b i{position:absolute;left:0;top:0;bottom:0;background:var(--dg-t);border-radius:5px}
.dg .dxst .t{line-height:1.45}
.dg .dxst .nt{margin:2px 0 0;font-size:12.5px;color:var(--sub)}
.dg .dxst .con{margin:6px 0 0;font-size:14px;padding:8px 10px;border-radius:10px;background:var(--soft)}
@media (max-width:767px){ .dg .dxst .rows>div{grid-template-columns:40px 1fr;grid-template-areas:"n b" "t t";row-gap:2px} .dg .dxst .n{grid-area:n} .dg .dxst .b{grid-area:b} .dg .dxst .t{grid-area:t} }
.dg .dxc.k-up{grid-column:1/-1}
@media (min-width:768px){ .dg .dxst .rows>div{grid-template-columns:52px 220px 1fr} }
/* 공략 카드 영어 줄: 등급별 점수(2026-10-27) */
.dg .dxst .rows>div .ex{grid-column:2/-1}
.dg .dxst .eg{display:flex;gap:4px;flex-wrap:wrap;margin:2px 0}
.dg .dxst .eg span{background:var(--soft);border-radius:8px;padding:3px 8px;text-align:center;line-height:1.2;min-width:44px}
.dg .dxst .eg span b{display:block;font-size:13px}
.dg .dxst .eg span small,.dg .pdt td .dxst .eg span small{display:block;font-size:10.5px}
.dg .dxst .eg span.on{background:var(--blue-soft);outline:2px solid var(--blue)}
.dg .dxst .et{margin:2px 0 0;font-size:12.5px;color:var(--sub)}
@media (max-width:767px){ .dg .dxst .rows>div .ex{grid-column:1/-1} }
.dg .dxc.k-fit{grid-column:1/-1}
@media (min-width:768px){ .dg .dxc.k-fit .dxfit{grid-template-columns:1fr 1fr} .dg .dxc.k-fit .dxfit>div{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"k v g" "k v p"} }
/* 유불리 보강: 환산점수 구성 막대 · 70%컷 학생과 자리별 비교(2026-10-27) */
.dg .dxcomp,.dg .dxcut{margin-top:12px}
.dg .dxcomp .h,.dg .dxcut .h{margin:0 0 6px;font-size:13px;font-weight:800}
.dg .dxcomp .h small,.dg .dxcut .h small,.dg .pdt td .dxcomp .h small,.dg .pdt td .dxcut .h small{display:inline;font-weight:500;color:var(--sub);font-size:11.5px;margin-left:4px}
.dg .dxcomp .bar{position:relative;display:flex;height:26px;border-radius:8px;background:var(--soft);overflow:visible;margin:18px 0 6px}
.dg .dxcomp .bar>i{display:block;height:100%;position:relative;overflow:hidden}
.dg .dxcomp .bar>i:first-child{border-radius:8px 0 0 8px}
.dg .dxcomp .bar>i span{position:absolute;left:6px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:800;color:#fff;white-space:nowrap}
.dg .dxcomp .bar em{position:absolute;top:-6px;bottom:-4px;width:2px;background:var(--ink);font-style:normal}
.dg .dxcomp .bar em span{position:absolute;bottom:100%;right:0;transform:translateX(50%);font-size:11px;font-weight:800;white-space:nowrap;color:var(--ink);margin-bottom:1px}
.dg .dxcomp .lg{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;font-size:12px;color:var(--sub)}
.dg .dxcomp .lg span{white-space:nowrap} .dg .dxcomp .lg b{color:var(--ink)}
.dg .dxcomp .lg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px}
.dg .dxcut .tw{overflow-x:auto}
.dg .dxcut table{width:100%;border-collapse:collapse;font-size:13px}
.dg .dxcut th,.dg .dxcut td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.dg .dxcut thead th{font-size:12px;color:var(--sub);font-weight:700}
.dg .dxcut tbody th small,.dg .dxcut td small,.dg .pdt td .dxcut td small,.dg .pdt td .dxcut th small{display:inline;color:var(--sub);font-weight:500;font-size:11px;margin-left:2px}
.dg .dxcut .n{text-align:right;font-weight:800}
.dg .dxcut .dn{color:var(--gdn)} .dg .dxcut .up{color:var(--gup)} .dg .dxcut .eq{color:var(--sub)}
.dg .dxcut .con{margin:8px 0 0;font-size:13.5px;padding:8px 10px;border-radius:10px;background:var(--soft);line-height:1.55}
@media (max-width:767px){ .dg .dxcut th,.dg .dxcut td{padding:5px 5px;font-size:12px} }
@media (max-width:767px){ .dg .dxcut th,.dg .dxcut td{white-space:normal} .dg .dxcut .n{white-space:nowrap} }
@media (max-width:767px){ .dg .dxcomp .bar{margin-top:24px} .dg .dxcomp .lg{display:grid;grid-template-columns:1fr 1fr} }
/* 유불리 어림(환산 공식 없는 학교, 2026-10-27) */
.dg .dxwhy2{margin:0 0 6px;font-size:13.5px;line-height:1.6}
.dg .dxwhy2>span{display:block;font-size:12px;font-weight:700;color:var(--sub)}
.dg .dxwhy2 small,.dg .pdt td .dxwhy2 small,.dg .dxfc small,.dg .pdt td .dxfc small{display:inline;font-size:11.5px;color:var(--sub)}
.dg .dxfit2 .k small,.dg .pdt td .dxfit2 .k small{display:block;font-size:11px;font-weight:600;color:var(--sub)}
.dg .dxfit2>div{grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) auto;grid-template-areas:"k v g"}
.dg .nt2{margin:6px 0 0;font-size:12px;color:var(--sub)}
@media (max-width:767px){ .dg .dxfit2>div{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k k" "v g"} }
@media (max-width:767px){ .dg .dxfit2>div{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k g" "v v"} .dg .dxfit2 .v{white-space:normal} .dg .dxcut th,.dg .dxcut td{white-space:nowrap;padding:5px 4px} }
@media (max-width:767px){ .dg .dxcut td small{display:none} }
/* 관심 학과 진단 펼친 칸 요약 + '학과 자세히 보기'(2026-10-27 진단·상세 합침) */
.dg .dxsum{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.dg .dxsum li{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.5}
.dg .dxsum li .bdg{flex:none;margin-top:1px}
.dg .jml .dxsum li{display:flex;padding:0;border:0}
.dg .pdmore{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin-top:12px;padding:10px 14px;text-align:left}
.dg .pdmore b{font-size:15px;color:inherit} .dg .pdmore small,.dg .pdt td .pdmore small{display:block;font-size:12px;font-weight:500;color:inherit;opacity:.9}
.dg .tgey{margin:0 0 2px;font-size:12.5px;font-weight:800;color:var(--dg-b);letter-spacing:.02em}
/* 연도별 입결: 결과표 환산점수 같이(2026-10-28) */
.xyt .cvv{display:block;font-size:12.5px;color:var(--sub);font-weight:500;margin-top:1px;white-space:nowrap}
.xyt .cvv b{color:var(--ink);font-weight:700}
/* 진단 머리: 진단 기준(학교 환산점수)과 탐색 기준(평균 백분위) 두 줄(2026-10-28) */
.dg .dxh2{display:grid;gap:8px;margin:10px 0 4px}
.dg .dxbase{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:14.5px}
.dg .dxr{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr));gap:8px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--soft)}
.dg .dxr.main{box-shadow:inset 0 0 0 2px var(--blue)}
.dg .dxr .l b{display:block;font-size:15px;font-weight:800}
.dg .dxr .l small{display:block;font-size:12px;color:var(--sub);margin-top:2px}
.dg .dxr .n span{display:block;font-size:12px;color:var(--sub);font-weight:700}
.dg .dxr .n b{display:block;font-size:24px;font-weight:800;line-height:1.2;white-space:nowrap}
.dg .dxr .n b small{font-size:.5em;font-weight:700;color:var(--sub);margin-left:2px}
.dg .dxr.ref .n b{font-size:18px}
.dg .dxr .g.dn b{color:var(--gdn)} .dg .dxr .g.up b{color:var(--gup)} .dg .dxr .g.eq b{color:var(--sub)}
@media (max-width:767px){ .dg .dxr{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 6px;padding:10px 12px} .dg .dxr .l{grid-column:1/-1} .dg .dxr .n b{font-size:19px} .dg .dxr.ref .n b{font-size:15px} .dg .dxbase{font-size:13.5px} }

/* ---- 네비게이션 시안(2026-10-28): 탭 5개 · 진단 위 줄 · + 비교 · 비교함 막대·창·화면 ---- */
.tabbar{grid-template-columns:repeat(5,minmax(0,1fr))}
.tabbar .tbn{position:absolute;top:2px;left:calc(50% + 6px);background:var(--blue);color:var(--blue-ink);border-radius:999px;font-size:10px;font-weight:800;line-height:15px;min-width:15px;padding:0 4px;text-align:center}
.tabbar .tbn:empty{display:none}
.navbk.dxbk{gap:10px}
.navbk.dxbk .dxnm{font-size:15px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:767px){
  .navbk.dxbk{position:sticky;top:0;z-index:4;background:var(--card);margin:0 calc(-1 * max(16px, env(safe-area-inset-left, 0px))) 8px;padding:6px max(12px, env(safe-area-inset-left, 0px));border-bottom:1px solid var(--line);min-height:46px}
  .navbk.dxbk .qret{font-size:0;padding:6px 10px} .navbk.dxbk .qret::before{content:"←";font-size:20px;line-height:1}
}
.rbt{display:inline-flex;flex-direction:column;align-items:center;gap:4px;flex:none}
.cmpb{background:var(--card);border:1px solid var(--line);color:var(--blue);border-radius:999px;font-size:12px;font-weight:800;padding:3px 8px;white-space:nowrap;cursor:pointer;line-height:1.3}
.cmpb[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:var(--blue-ink)}
.cmpb.dbtn{font-size:14px;padding:8px 14px;border-radius:12px}
.dg td.h,.dg th.h{width:70px}
.fva .cmpb{margin-right:4px}
.cmpbar{position:fixed;left:0;right:0;bottom:0;z-index:6;padding:8px max(16px, env(safe-area-inset-left, 0px)) calc(8px + env(safe-area-inset-bottom));pointer-events:none}
.cmpbi{pointer-events:auto;max-width:960px;margin:0 auto;display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--card);border-radius:16px;padding:10px 12px 10px 16px;box-shadow:0 6px 24px rgba(16,24,40,.25)}
.cmpbi .cbt{white-space:nowrap;font-size:14px} .cmpbi .cbt span{opacity:.75;font-weight:700;margin-left:2px}
.cmpch{display:flex;gap:6px;min-width:0;overflow:hidden;flex:1} .cmpch span{background:rgba(255,255,255,.14);border-radius:999px;padding:2px 9px;font-size:12.5px;white-space:nowrap}
.cmpbi .btn{white-space:nowrap;margin-left:auto}
body.hascmp .foot{padding-bottom:84px}
@media (max-width:767px){ .cmpbar{bottom:calc(58px + env(safe-area-inset-bottom));padding:6px 10px} .cmpch{display:none} .cmpbi{padding:8px 8px 8px 14px} body.hascmp .foot{padding-bottom:150px} }
.cmpov{position:fixed;inset:0;z-index:50;background:rgba(16,24,40,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.cmpdlg{background:var(--card);border-radius:18px;max-width:440px;width:100%;padding:20px;box-shadow:0 20px 60px rgba(16,24,40,.3)}
.cmpdlg h2{margin:0 0 8px;font-size:18px} .cmpdlg h2 small{color:var(--sub);font-weight:700}
.cmpdlg .cmpnew{margin:0 0 2px} .cmpol{display:grid;gap:6px;margin:10px 0 14px}
.cmpol label{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;font-weight:600}
.cmpol label:has(input:checked){border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.cmpdlg .row-btns{justify-content:flex-end;margin:0} .cmpdlg .btn[disabled]{opacity:.45;cursor:not-allowed}
.cmpcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 6px}
.cmpcols.n1{grid-template-columns:minmax(0,320px)} .cmpcols.n2{grid-template-columns:repeat(2,minmax(0,1fr))} .cmpcols.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cmpc{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.cmpc .cl{margin:0;display:flex;gap:8px;align-items:flex-start;font-size:15px;line-height:1.35} .cmpc .cl i{flex:none;width:22px;height:22px;border-radius:7px;color:#fff;font-style:normal;font-weight:800;font-size:13px;display:grid;place-items:center}
.cmpc .cs{margin:0;color:var(--sub);font-size:12.5px}
.cmpc dl{margin:4px 0 0;display:grid;gap:4px} .cmpc dl div{display:flex;justify-content:space-between;gap:8px;border-top:1px dashed var(--line);padding-top:5px}
.cmpc dt{color:var(--sub);font-size:12.5px} .cmpc dd{margin:0;font-weight:800;text-align:right} .cmpc dd small{color:var(--sub);font-weight:700;font-size:.8em} .cmpc dd.t{font-weight:700;font-size:13px}
.cmpc dd.d.dn{color:var(--gdn)} .cmpc dd.d.up{color:var(--gup)} .cmpc dd.d.eq{color:var(--sub)}
.cmpc .cb{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap;padding-top:6px}
@media (max-width:767px){ .cmpcols,.cmpcols.n3{grid-template-columns:repeat(2,minmax(0,1fr))} .cmpcols.n1{grid-template-columns:minmax(0,1fr)} .cmpc{padding:12px} }

.vtag{font-size:11px;font-weight:800;background:#fde68a;color:#7c4a03;border-radius:6px;padding:2px 6px;margin-left:6px;vertical-align:middle}
.cmpbi .btn{background:var(--card);color:var(--ink);border-color:var(--card)}
.tbar .cmpb.dbtn{align-self:center}
@media (max-width:767px){ .navbk.dxbk{top:52px} }
.fvt .fvn{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:6px;width:100%;cursor:pointer;color:inherit}
.fvt .fvn small{display:block}
.fvt .fvn .go{margin-left:auto;color:var(--sub);font-size:18px}
.fvt .fvn:hover b{color:var(--blue);text-decoration:underline}
.fvt .fvn:focus-visible{outline:2px solid var(--blue);border-radius:6px}
.cmpbi .cbx{background:none;border:0;color:var(--card);opacity:.7;font-size:16px;cursor:pointer;padding:4px 6px;margin-left:-4px}
.cmpbi .cbx:hover{opacity:1}

/* 목록 쪽 넘기기(2026-10-28): 10개씩 */
.xpg{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:16px 0 4px}
.xpg .pgb{min-width:38px;height:38px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-weight:700;font-size:14px;cursor:pointer}
.xpg .pgb:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}
.xpg .pgb.on{background:var(--blue);border-color:var(--blue);color:var(--blue-ink)}
.xpg .pgb:disabled{opacity:.35;cursor:default}
.xpg .pge{color:var(--sub);padding:0 2px}
.xpg .pgi{flex-basis:100%;text-align:center;color:var(--sub);font-size:12.5px}
.xpg.m .pgb{min-width:44px;height:40px;font-size:18px}
.xpg.m .pgn{min-width:64px;text-align:center;font-size:15px;color:var(--sub)} .xpg.m .pgn b{color:var(--ink);font-size:17px}

/* 선택된 항목을 더 분명하게(사용자 2026-10-28): 수시/정시·목록 종류·정렬·표/카드·탭 — 고른 칸은 파란 바탕에 흰 글씨, 안 고른 칸은 옅게 */
.seg button[aria-pressed="true"],.dg .seg2 button[aria-pressed="true"],.q .seg2 button[aria-pressed="true"]{background:var(--blue);color:var(--blue-ink);font-weight:800;box-shadow:0 2px 6px rgba(37,99,235,.28)}
.seg button[aria-pressed="false"]:hover,.dg .seg2 button[aria-pressed="false"]:hover,.q .seg2 button[aria-pressed="false"]:hover{color:var(--ink);background:rgba(37,99,235,.08)}
.dg .itabs button[aria-selected="true"],.dg .tabs button[aria-selected="true"],.ttabs button[aria-selected="true"]{background:var(--blue);border-color:var(--blue);color:var(--blue-ink);font-weight:800;box-shadow:0 2px 6px rgba(37,99,235,.28)}
.dg .itabs button[aria-selected="true"] small,.dg .tabs button[aria-selected="true"] small{color:inherit;opacity:.85}
.dg .xjg button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:var(--blue-ink)}

/* ---- 다크 모드(2026-10-28 시안): 기기 설정을 따르고, 위 해·달 버튼으로 바꿈. 기본 색 토큰은 위 :root 에 이미 있고, 여기는 색이 직접 박힌 곳만 ---- */
.top-nav{margin-left:auto}
.thm{flex:none;width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-size:18px;line-height:1;display:grid;place-items:center;padding:0}
.thm:hover{border-color:var(--blue)}
.thm .i-sun{display:none}
:root[data-theme="dark"] .thm .i-sun{display:inline} :root[data-theme="dark"] .thm .i-moon{display:none}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .thm .i-sun{display:inline} :root:not([data-theme="light"]) .thm .i-moon{display:none} }
:root[data-theme="dark"] .dg .xpp em{color:#ffd77a;background:rgba(240,166,72,.16)}
:root[data-theme="dark"] .p28t.sum,:root[data-theme="dark"] .j27st.fix,:root[data-theme="dark"] .reftag{color:#ffd77a;background:rgba(240,166,72,.14);border-color:rgba(240,166,72,.4)}
:root[data-theme="dark"] .j27chip.silgi{background:rgba(240,166,72,.16);border-color:rgba(240,166,72,.45);color:#ffc977}
:root[data-theme="dark"] .logo.img{background:#f4f6fa}
:root[data-theme="dark"] .cmpbi{background:#e8ecf3;color:#111827}
:root[data-theme="dark"] .cmpbi .cbx{color:#111827}
:root[data-theme="dark"] .cmpch span{background:rgba(17,24,39,.08)}
:root[data-theme="dark"] .cmpbi .btn{background:#111827;color:#fff;border-color:#111827}
:root[data-theme="dark"] .vtag{background:#5c4708;color:#ffe59a}
:root[data-theme="dark"] .cmpov{background:rgba(0,0,0,.6)}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]) .dg .xpp em{color:#ffd77a;background:rgba(240,166,72,.16)}
:root:not([data-theme="light"]) .p28t.sum,:root:not([data-theme="light"]) .j27st.fix,:root:not([data-theme="light"]) .reftag{color:#ffd77a;background:rgba(240,166,72,.14);border-color:rgba(240,166,72,.4)}
:root:not([data-theme="light"]) .j27chip.silgi{background:rgba(240,166,72,.16);border-color:rgba(240,166,72,.45);color:#ffc977}
:root:not([data-theme="light"]) .logo.img{background:#f4f6fa}
:root:not([data-theme="light"]) .cmpbi{background:#e8ecf3;color:#111827}
:root:not([data-theme="light"]) .cmpbi .cbx{color:#111827}
:root:not([data-theme="light"]) .cmpch span{background:rgba(17,24,39,.08)}
:root:not([data-theme="light"]) .cmpbi .btn{background:#111827;color:#fff;border-color:#111827}
:root:not([data-theme="light"]) .vtag{background:#5c4708;color:#ffe59a}
:root:not([data-theme="light"]) .cmpov{background:rgba(0,0,0,.6)}
}
:root[data-theme="dark"] .dg .sh i{color:#0b1020}
:root[data-theme="dark"] .dg .rvme span.e{color:#0b1020}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]) .dg .sh i{color:#0b1020}
:root:not([data-theme="light"]) .dg .rvme span.e{color:#0b1020}
}
:root[data-theme="dark"] .j27s.e,:root[data-theme="dark"] .j27s.e b{color:#0b1020}
:root[data-theme="dark"] .cmpc .cl i,:root[data-theme="dark"] .dg .cmpt .lt,:root[data-theme="dark"] .dg .cml .lt{color:#0b1020}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]) .j27s.e,:root:not([data-theme="light"]) .j27s.e b{color:#0b1020}
:root:not([data-theme="light"]) .cmpc .cl i,:root:not([data-theme="light"]) .dg .cmpt .lt,:root:not([data-theme="light"]) .dg .cml .lt{color:#0b1020}
}
:root[data-theme="dark"] .sc-pp em{color:#ffd77a;background:rgba(240,166,72,.16)}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]) .sc-pp em{color:#ffd77a;background:rgba(240,166,72,.16)}
}
@media (max-width:767px){ .dg .dxr .n.g b{white-space:normal;font-size:17px;line-height:1.25} }
