/* 4개년 추합 분석 (addpass.php, 2026-09-19) 전용 — 모든 규칙은 #apApp 안에서만 적용. 색·모서리(3px)·글꼴·최소 글자 크기는 gj.css 기준 */
#apApp{color:var(--ink);font-family:inherit;font-size:15px;line-height:1.55;font-feature-settings:'tnum' 1;letter-spacing:-0.01em}
#apApp *{box-sizing:border-box}
#apApp b,#apApp strong{font-weight:600}
#apApp input,#apApp select{font:inherit;color:var(--ink)}
#apApp button{font-family:inherit}
#apApp{--navy:#0f172a; --navy2:#1e293b; --ink:#202020; --ink2:#505050; --mut:#707070;
  --rule:#c5d0dc; --rule2:#e5e9ee; --bg:#F6F8FA; --paper:#fff;
  --acc:#0891B2; --acc-d:#0E7490; --acc-l:#E6F4F8; --acc-m:#9AD4E4;
  --pos:#059669; --pos-l:#e8f7f1; --amb:#d97706; --amb-l:#fdf4e4; --neg:#e0453a; --neg-l:#fdecea;}
#apApp b,#apApp strong{font-weight:600}
#apApp .help{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
#apApp .hc{padding:14px 18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:3px;backdrop-filter:blur(2px)}
#apApp .hq{font-weight:700;color:#fff;margin-bottom:4px;font-size:14px}
#apApp .hq::before{content:'Q';display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;background:var(--acc);color:#fff;font-size:14px;font-weight:800;margin-right:8px}
#apApp .ha{font-size:14px;color:#c9d7e5}
#apApp .wrap{max-width:1240px;margin:0 auto;padding:0 20px 80px;position:relative;z-index:2}
#apApp .tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:var(--paper);border-radius:3px;padding:6px;margin:-34px 0 34px;box-shadow:0 10px 30px rgba(15,23,42,.14),0 1px 0 var(--rule)}
#apApp .tab{padding:13px 8px;cursor:pointer;color:var(--ink2);font-size:14.5px;font-weight:600;text-align:center;border-radius:3px;white-space:nowrap}
#apApp .tab b{display:none}
#apApp .tab:hover{background:var(--acc-l);color:var(--navy)}
#apApp .tab.on{background:var(--acc);color:#fff}
#apApp .pane{display:none}
#apApp .pane.on{display:block}
#apApp .sec{margin-bottom:34px;background:var(--paper);border-radius:3px;box-shadow:0 1px 2px rgba(15,23,42,.06),0 0 0 1px var(--rule)}
#apApp .sec-hd{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 22px;border-bottom:1px solid var(--rule2)}
#apApp .sec-hd .no{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:24px;padding:0 6px;border-radius:3px;background:var(--acc-l);color:var(--acc-d);font-size:14px;font-weight:800}
#apApp .sec-hd h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-0.03em;color:var(--navy)}
#apApp .sec-hd p{margin:0;color:var(--mut);font-size:14px}
#apApp .sec-hd .btn-reset{margin-left:auto}
#apApp .sec-bd{padding:18px 22px 22px}
#apApp .fg{display:grid;grid-template-columns:140px 1fr;align-items:center;border-bottom:1px solid var(--rule2);padding:12px 0}
#apApp .fg:first-child{padding-top:2px}
#apApp .fg.last{border-bottom:0;padding-bottom:0}
#apApp .flab{font-weight:700;color:var(--navy);font-size:14px}
#apApp .flab small{display:block;font-weight:400;color:var(--mut);font-size:14px}
#apApp .fc{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
#apApp .fld{display:flex;flex-direction:row;align-items:center;gap:8px}
#apApp .fld label{font-size:14px;color:var(--mut)}
#apApp input,#apApp select{font:inherit;color:var(--ink)}
#apApp .fc input,#apApp .fc select,#apApp .pick input,#apApp .pick select{height:38px;border:1px solid #bcc7d3;border-radius:3px;padding:0 12px;background:var(--paper);min-width:210px}
#apApp .fc input:focus,#apApp .fc select:focus,#apApp .pick input:focus,#apApp .pick select:focus,#apApp .qsIn:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(8,145,178,.18)}
#apApp .fc .ck input{min-width:0;height:auto;accent-color:var(--acc)}
#apApp .seg{display:inline-flex;background:#eef2f6;border-radius:3px;padding:3px;gap:2px}
#apApp .seg button{border:0;background:transparent;padding:0 16px;height:32px;cursor:pointer;font:inherit;color:var(--ink2);border-radius:3px}
#apApp .seg button.on{background:var(--paper);color:var(--navy);font-weight:700;box-shadow:0 1px 3px rgba(15,23,42,.18)}
#apApp .chips{display:flex;gap:6px;flex-wrap:wrap}
#apApp .chip{border:1px solid #cbd5e0;background:var(--paper);border-radius:20px;padding:4px 13px;cursor:pointer;font-size:14px;color:var(--ink2);user-select:none}
#apApp .chip:hover{border-color:var(--acc);color:var(--acc-d)}
#apApp .chip.on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
#apApp .ck{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink2);cursor:pointer}
#apApp .btn-reset,#apApp .btn-more,#apApp .more,#apApp .jump button{height:36px;border:1px solid #bcc7d3;background:var(--paper);color:var(--navy);border-radius:3px;padding:0 15px;cursor:pointer;font:inherit;font-size:14px;font-weight:600}
#apApp .btn-reset:hover,#apApp .btn-more:hover,#apApp .more:hover{border-color:var(--navy)}
#apApp .jump button{background:var(--acc);border-color:var(--acc);color:#fff}
#apApp .jump button:hover{background:var(--acc-d);border-color:var(--acc-d)}
#apApp .detail{display:none;border-top:1px dashed #bcc7d3;margin-top:4px}
#apApp .detail.on{display:block}
#apApp .dnote{margin:0;font-size:14px;color:var(--mut)}
#apApp .kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
#apApp .kpi{padding:16px 18px;border-radius:3px;background:linear-gradient(180deg,#f7fbfd,#fff);border:1px solid var(--rule2);position:relative;overflow:hidden}
#apApp .kpi::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--acc)}
#apApp .kpi:nth-child(2)::before{background:var(--navy)}
#apApp .kpi:nth-child(3)::before{background:var(--acc-d)}
#apApp .kpi:nth-child(4)::before{background:var(--pos)}
#apApp .kpi:nth-child(5)::before{background:#94a3b8}
#apApp .kpi .k{font-size:14px;color:var(--mut);margin-bottom:6px}
#apApp .kpi .v{font-size:27px;font-weight:800;letter-spacing:-0.03em;color:var(--navy)}
#apApp .kpi .v small{font-size:14px;font-weight:600;color:var(--mut);margin-left:3px}
#apApp .edu{border:1px solid var(--acc-m);background:linear-gradient(180deg,#f2fbfd,#fff);border-radius:3px;margin-bottom:18px}
#apApp .edu summary{cursor:pointer;padding:13px 18px;font-weight:700;font-size:14.5px;color:var(--navy);list-style:none;display:flex;justify-content:space-between;align-items:center}
#apApp .edu summary::-webkit-details-marker{display:none}
#apApp .edu summary span{font-weight:500;font-size:14px;color:var(--acc-d)}
#apApp .edu-bd{padding:2px 18px 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
#apApp .edu-step{padding:14px;background:#fff;border:1px solid var(--rule2);border-radius:3px;display:flex;gap:10px;color:var(--ink2);font-size:14px}
#apApp .es-n{flex:none;width:24px;height:24px;border-radius:50%;background:var(--acc);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
#apApp .ex{display:block;margin-top:8px;font-size:14px;color:var(--navy);background:var(--acc-l);padding:6px 10px;border-radius:3px}
#apApp .edu-sum{grid-column:1/-1;padding:12px 16px;background:var(--navy);color:#e6eef6;font-size:14px;border-radius:3px}
#apApp .edu-sum b{color:#9AD4E4}
#apApp .cnt{color:var(--mut);font-size:14px;margin-bottom:8px}
#apApp .cnt b{color:var(--navy);font-size:15px}
#apApp .tbl-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:3px}
#apApp table{border-collapse:collapse;width:100%;font-size:14px}
#apApp th{background:#e8eef4;color:var(--navy);font-weight:700;font-size:14px;padding:11px 10px;border-bottom:2px solid var(--navy);white-space:nowrap;text-align:right;vertical-align:bottom}
#apApp th small{display:block;font-weight:500;font-size:14px!important;color:var(--mut)}   /* gj.css 의 small 최소 14px(!important)보다 표 머리 안 작은 설명은 한 단계 작게 */
#apApp th.s{cursor:pointer}
#apApp th.s:hover{background:#e6eef5}
#apApp th .ar{color:var(--acc);margin-left:3px;font-size:11px}
#apApp td{padding:9px 10px;border-bottom:1px solid var(--rule2);text-align:right;white-space:nowrap;color:var(--ink)}
#apApp td.l{text-align:left}
#apApp #rankTbl th:nth-child(-n+4),#apApp #cmpTbl th:nth-child(-n+4),#apApp #trendOut th:first-child{text-align:left}
#apApp tbody tr:nth-child(even) td{background:#fafcfd}
#apApp tbody tr:last-child td{border-bottom:0}
#apApp tr.go{cursor:pointer}
#apApp tr.go:hover td{background:var(--acc-l)}
#apApp td.gocell{color:#b6c2cf;font-size:17px;width:26px;font-weight:700}
#apApp tr.go:hover td.gocell{color:var(--acc)}
#apApp td.real b{color:var(--acc-d);font-weight:800}
#apApp td.gap{color:var(--pos);font-weight:700}
#apApp .cr{color:var(--mut);font-size:14px}
#apApp .more{display:block;margin:16px auto 0;padding:0 28px}
#apApp .lv{display:inline-flex;gap:2px;margin-right:8px;vertical-align:middle}
#apApp .lv i{width:8px;height:13px;background:#e2e8ef;display:inline-block;border-radius:1px}
#apApp .lv i.f:nth-child(1){background:#a5e4f0}
#apApp .lv i.f:nth-child(2){background:#38bdd8}
#apApp .lv i.f:nth-child(3){background:#0891b2}
#apApp .lv i.f:nth-child(4){background:#155E75}
#apApp .lvt{color:var(--ink2);font-size:14px;margin-right:6px}
#apApp .times{font-weight:800;color:var(--navy)}
#apApp .tag{font-size:14px;color:var(--mut)}
#apApp .t-pool,#apApp .t-odd{color:var(--amb);font-weight:600}
#apApp .t-gy,#apApp .t-jh{display:inline-block;font-size:14px;font-weight:700;border-radius:3px;padding:1px 6px;margin-right:5px}
#apApp .t-gy{background:#e0effe;color:#1d4ed8}
#apApp .t-jh{background:#efe9fe;color:#6d28d9}
#apApp .heat td.h{font-weight:700;text-align:center}
#apApp .legend{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--mut);margin-top:12px}
#apApp .legend span{display:inline-flex;align-items:center;gap:6px}
#apApp .legend i{width:13px;height:13px;display:inline-block;border-radius:3px}
#apApp .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#apApp .grid2 .card{padding:18px 20px;border:1px solid var(--rule2);border-radius:3px;margin:0;background:#fff}
#apApp .card h3{margin:0 0 8px;font-size:15px;font-weight:800;color:var(--navy);letter-spacing:-0.02em}
#apApp .card .desc{margin:0 0 10px;color:var(--mut);font-size:14px}
#apApp .sn{display:inline-block;font-size:14px;font-weight:800;color:var(--acc-d);background:var(--acc-l);border-radius:3px;padding:1px 6px;margin-right:8px;vertical-align:1px}
#apApp .say{margin:0 0 14px;color:var(--ink);font-size:14px;padding:10px 14px;background:#f5f9fc;border-radius:3px;border-left:3px solid var(--acc)}
#apApp .say u{text-decoration:none;font-weight:800;color:var(--acc-d)}
#apApp svg text{font-family:inherit}
#apApp .qs{position:relative;margin-bottom:16px;max-width:640px}
#apApp .qsIn{width:100%;height:46px;border:2px solid var(--acc);border-radius:3px;padding:0 16px 0 42px;font-size:15px;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%230891b2' stroke-width='2.2'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='M12.5 12.5L17 17'/%3E%3C/svg%3E") no-repeat 15px center}
#apApp .qsList{display:none;position:absolute;left:0;right:0;top:50px;background:var(--paper);border:1px solid var(--rule);border-radius:3px;max-height:320px;overflow-y:auto;z-index:20;box-shadow:0 14px 34px rgba(15,23,42,.16)}
#apApp .qsList.on{display:block}
#apApp .qsList div{padding:10px 16px;cursor:pointer;border-bottom:1px solid var(--rule2)}
#apApp .qsList div:hover{background:var(--acc-l)}
#apApp .qsList div small{color:var(--mut);margin-left:8px}
#apApp .qsList .none{color:var(--mut);cursor:default}
#apApp .pick{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-end}
#apApp .pick .fld{flex-direction:column;align-items:flex-start;gap:5px}
#apApp .yebi{display:flex;align-items:center;gap:12px}
#apApp .yebi input{width:120px;height:54px;font-size:26px;font-weight:800;text-align:center;border:2px solid var(--acc);border-radius:3px;color:var(--navy)}
#apApp .yebi .lb{font-size:16px;font-weight:600;color:var(--navy)}
#apApp .verdict{padding:18px 20px;font-size:16.5px;font-weight:700;border-radius:3px;line-height:1.6;background:#f1f5f9;color:var(--navy)}
#apApp .verdict u{text-decoration:none;padding:0 4px;border-radius:3px;color:#fff}
#apApp .v-good{background:var(--pos-l);color:#065f46}
#apApp .v-good u{background:var(--pos)}
#apApp .v-mid{background:var(--amb-l);color:#7c4a03}
#apApp .v-mid u{background:var(--amb)}
#apApp .v-bad{background:var(--neg-l);color:#8f1d15}
#apApp .v-bad u{background:var(--neg)}
#apApp .ycards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
#apApp .yc{padding:16px;border:1px solid var(--rule2);border-radius:3px;position:relative;overflow:hidden}
#apApp .yc::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:#cbd5e0}
#apApp .yc.pass::before{background:var(--pos)}
#apApp .yc.fail::before{background:var(--neg)}
#apApp .yc .y{font-size:14px;color:var(--mut);font-weight:600}
#apApp .yc .n{font-size:20px;font-weight:800;margin:4px 0 2px;color:var(--navy)}
#apApp .yc>div:nth-child(3){font-size:14px;color:var(--mut)}
#apApp .yline{margin-top:10px}
#apApp .yc .r{font-size:14px;font-weight:700;padding:3px 10px;border-radius:20px;display:inline-block}
#apApp .yc.pass .r{background:var(--pos-l);color:var(--pos)}
#apApp .yc.fail .r{background:var(--neg-l);color:var(--neg)}
#apApp .yc.na .r{background:#eef2f6;color:var(--mut)}
#apApp .jump{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}
#apApp .refnote{border:1px solid #f3d29a;border-left:4px solid var(--amb);background:var(--amb-l);color:#6b4204;padding:12px 16px;margin-bottom:14px;font-size:14px;border-radius:3px}
#apApp .refnote b{color:#b45309}
@media (max-width:900px){
#apApp .wrap{padding:0 16px 60px}
#apApp .help,#apApp .edu-bd{grid-template-columns:1fr}
#apApp .tabs{grid-template-columns:repeat(2,1fr)}
#apApp .kpis{grid-template-columns:repeat(2,1fr)}
#apApp .grid2{grid-template-columns:1fr}
#apApp .ycards{grid-template-columns:repeat(2,1fr)}
#apApp .fg{grid-template-columns:1fr;gap:6px}
#apApp .fc input,#apApp .fc select,#apApp .pick input,#apApp .pick select{min-width:0;width:100%}
#apApp .fld{flex-direction:column;align-items:stretch;width:100%}
}
#apApp .zone{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-size:14px;font-weight:800;letter-spacing:.02em}
#apApp .zone::after{content:'';flex:1;height:2px}
#apApp .zone span{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:20px}
#apApp .zone.opt span{background:#dbeafe;color:#1e3a8a}
#apApp .zone.opt span::before{content:'';width:8px;height:8px;border-radius:50%;background:#2563eb}
#apApp .zone.opt::after{background:linear-gradient(90deg,#bfdbfe,transparent)}
#apApp .zone.res{margin-top:44px}
#apApp .zone.res span{background:var(--navy);color:#fff}
#apApp .zone.res span::before{content:'▼';font-size:11px;color:#9AD4E4}
#apApp .zone.res::after{background:linear-gradient(90deg,var(--navy),transparent)}
#apApp .sec.opt{background:#f4f8fe;box-shadow:0 0 0 1px #c7d9f3}
#apApp .sec.opt .sec-hd{border-bottom-color:#dbe7f7}
#apApp .sec.opt .sec-hd .no{background:#2563eb;color:#fff}
#apApp .sec.res .sec-hd .no{background:var(--navy);color:#fff}
#apApp .kind{font-size:14px;font-weight:800;padding:2px 8px;border-radius:3px}
#apApp .sec.opt .kind{color:#1d4ed8;background:#dbeafe}
#apApp .sec.res .kind{color:var(--acc-d);background:var(--acc-l)}
#apApp .sec.opt+.sec.opt{margin-top:-18px}
#apApp .sec.res{box-shadow:0 4px 16px rgba(15,23,42,.07),0 0 0 1px var(--rule)}
#apApp .tbl-wrap{border:1px solid #8a9bb0;border-radius:3px}
#apApp table{border-collapse:collapse}
#apApp th,#apApp td{border:1px solid #c3cfdb}
#apApp thead th{border-bottom:2px solid var(--navy);text-align:center!important;vertical-align:middle}
#apApp thead tr th:first-child,#apApp tbody tr td:first-child{border-left:0}
#apApp thead tr th:last-child,#apApp tbody tr td:last-child{border-right:0}
#apApp thead tr th{border-top:0}
#apApp tbody tr:last-child td{border-bottom:0}
#apApp .sec{box-shadow:none!important;border:1px solid #9fb0c2}
#apApp .sec.opt{border-color:#9db8dd}
#apApp .sec-hd{border-bottom:1px solid #c3cfdb}
#apApp .kpi{border:1px solid #9fb0c2}
#apApp .grid2 .card{border:1px solid #9fb0c2}
#apApp .yc{border:1px solid #9fb0c2}
#apApp .edu{border:1px solid #7fc6d8}
#apApp .edu-step{border:1px solid #b8d9e3}
#apApp .hc{border:1px solid rgba(255,255,255,.34)}
#apApp .say{border:1px solid #c3d6e6;border-left:3px solid var(--acc)}
#apApp .refnote{border-width:1px 1px 1px 4px}
#apApp .fg{border-bottom:1px solid #d3dde8}
#apApp .qsList{border:1px solid #8a9bb0}
#apApp .zone.opt span{background:var(--acc);color:#fff}
#apApp .zone.opt span::before{background:#fff}
#apApp .zone.opt::after{background:linear-gradient(90deg,var(--acc),transparent)}
#apApp .sec.opt{background:#f2fafc;border-color:#8fc9d8}
#apApp .sec.opt .sec-hd{border-bottom-color:#bfe2eb}
#apApp .sec.opt .sec-hd .no{background:var(--acc);color:#fff}
#apApp .sec.opt .kind{color:#fff;background:var(--acc)}
#apApp .sec.res .kind{color:#fff;background:var(--navy)}

/* 사이트 본문용: 용어 설명 카드(밝은 바탕) · 탭 위치 */
#apApp .help{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 22px}
#apApp .hc{padding:14px 18px;background:#fff;border:1px solid #9fb0c2;border-radius:3px;backdrop-filter:none}
#apApp .hq{color:var(--navy)}
#apApp .hq::before{background:var(--acc);color:#fff}
#apApp .ha{color:var(--ink2)}
#apApp .tabs{margin:0 0 30px}
#apApp .ap-loading{padding:60px 0;text-align:center;color:var(--mut);font-size:15px}
#apApp .ap-error{padding:40px 20px;text-align:center;color:#8f1d15;background:#fdecea;border:1px solid #f5c2bd;border-radius:3px}
@media (max-width:900px){#apApp .help{grid-template-columns:1fr}}

/* 추합 자료 활용법 도움말 (2026-09-19) — 용어 설명 카드 3개(.help)도 이 안에 */
#apApp .use{background:#fff;border:1px solid #9fb0c2;border-left:4px solid var(--acc);border-radius:3px;padding:18px 22px;margin:0 0 22px}
#apApp .use .help{margin:16px 0 0}
#apApp .use .hc{background:#f8fafc}
#apApp .use-t{margin:0 0 12px;font-size:17px;font-weight:800;color:var(--navy);letter-spacing:-0.02em}
#apApp .use-l{list-style:none;counter-reset:use;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
#apApp .use-l li{counter-increment:use;position:relative;padding-left:32px}
#apApp .use-l li::before{content:counter(use);position:absolute;left:0;top:1px;width:22px;height:22px;line-height:22px;border-radius:50%;background:var(--acc);color:#fff;font-size:14px;font-weight:800;text-align:center}
#apApp .use-l b{display:block;margin-bottom:2px;font-size:15px;font-weight:700;color:var(--navy)}
#apApp .use-l span{display:block;font-size:14px;color:var(--ink2)}
#apApp .use-l .tn{font-style:normal;font-weight:600;color:var(--acc-d)}
#apApp .use-n{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--rule2);font-size:14px;color:var(--ink2)}
@media (max-width:900px){#apApp .use-l{grid-template-columns:1fr}}
@media (max-width:600px){#apApp .use{padding:14px 14px}#apApp .use-t{font-size:16px}}

/* 입력칸 드롭다운 (body 에 붙음) */
#apDrop{display:none;position:fixed;z-index:3000;max-height:300px;overflow-y:auto;background:#fff;border:1px solid #8a9bb0;border-radius:3px;box-shadow:0 12px 28px rgba(15,23,42,.18);font-family:inherit;font-size:15px;color:#202020}
#apDrop .ap-opt{padding:9px 14px;cursor:pointer;border-bottom:1px solid #eef2f6;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#apDrop .ap-opt:last-child{border-bottom:0}
#apDrop .ap-opt:hover,#apDrop .ap-opt.act{background:#E6F4F8;color:#0E7490}
#apDrop .ap-none{padding:12px 14px;color:#505050}

/* 버튼 느낌 보강 */
#apApp .tabs{gap:6px}
#apApp .tab{border:1px solid #cbd5e0;background:#f8fafc;box-shadow:0 1px 2px rgba(15,23,42,.08);transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
#apApp .tab:hover{background:var(--acc-l);border-color:var(--acc);color:var(--acc-d);box-shadow:0 3px 8px rgba(8,145,178,.18);transform:translateY(-1px)}
#apApp .tab.on,#apApp .tab.on:hover{background:var(--acc);border-color:var(--acc);color:#fff;transform:none;box-shadow:0 2px 6px rgba(8,145,178,.3)}
#apApp .seg{background:transparent;padding:0;gap:6px}
#apApp .seg button{border:1px solid #bcc7d3;background:#fff;border-radius:3px;height:34px;box-shadow:0 1px 2px rgba(15,23,42,.08);transition:background .15s,border-color .15s,color .15s}
#apApp .seg button:hover{border-color:var(--acc);color:var(--acc-d);background:var(--acc-l)}
#apApp .seg button.on,#apApp .seg button.on:hover{background:#202020;border-color:#202020;color:#fff;font-weight:700;box-shadow:0 2px 5px rgba(15,23,42,.25)}
#apApp .chip{box-shadow:0 1px 2px rgba(15,23,42,.08);transition:background .15s,border-color .15s}
#apApp .chip:hover{background:var(--acc-l)}
#apApp .chip.on,#apApp .chip.on:hover{background:var(--acc);color:#fff;box-shadow:0 2px 5px rgba(8,145,178,.3)}
#apApp .btn-reset,#apApp .btn-more,#apApp .more{box-shadow:0 1px 2px rgba(15,23,42,.1);transition:background .15s,border-color .15s}
#apApp .btn-reset:hover,#apApp .btn-more:hover,#apApp .more:hover{background:#f1f5f9;border-color:var(--navy)}
#apApp .jump button{box-shadow:0 2px 5px rgba(8,145,178,.25);transition:background .15s}

/* 표 좌우 밀기 안내 (태블릿·모바일에서만 표시) */
#apApp .swipe-hint{display:none;margin:0 0 6px;font-size:14px;color:var(--mut)}
#apApp .swipe-hint::before{content:'↔';margin-right:5px;color:var(--acc-d);font-weight:800}
@media (max-width:900px){
#apApp .swipe-hint{display:block}
#apApp .tbl-wrap{-webkit-overflow-scrolling:touch}
}

/* 모바일 최적화 (600px 이하) */
@media (max-width:600px){
#apApp{font-size:14px}
#apApp .help{gap:8px;margin:0 0 16px}
#apApp .hc{padding:11px 13px}
#apApp .hq{font-size:14px}
#apApp .ha{font-size:14px}
#apApp .tabs{grid-template-columns:repeat(2,1fr);gap:5px;padding:5px;margin:0 0 20px}
#apApp .tab{padding:10px 4px;font-size:14px;white-space:normal;word-break:keep-all;line-height:1.35;display:flex;align-items:center;justify-content:center}
#apApp .tab:last-child{grid-column:1/-1}
#apApp .tab:hover{transform:none}
#apApp .sec{margin-bottom:20px}
#apApp .sec.opt+.sec.opt{margin-top:-8px}
#apApp .sec-hd{padding:12px 14px;gap:6px 8px}
#apApp .sec-hd h2{font-size:16px}
#apApp .sec-hd p{flex-basis:100%;font-size:14px}
#apApp .sec-bd{padding:14px 14px 16px}
#apApp .zone{margin:0 0 10px;font-size:14px}
#apApp .zone.res{margin-top:26px}
#apApp .fg{padding:10px 0}
#apApp .fc{gap:8px}
#apApp .seg{display:flex;flex-wrap:wrap;width:100%;gap:5px}
#apApp .seg button{flex:1 1 auto;padding:0 8px;height:34px;font-size:14px;white-space:nowrap}
#apApp .chip{padding:5px 12px}
#apApp .btn-reset,#apApp .btn-more,#apApp .more,#apApp .jump button{height:38px}
#apApp .kpis{grid-template-columns:repeat(2,1fr);gap:8px}
#apApp .kpi{padding:12px 12px 12px 14px}
#apApp .kpi:last-child{grid-column:1/-1}
#apApp .kpi .k{font-size:14px;margin-bottom:3px}
#apApp .kpi .v{font-size:22px}
#apApp .edu summary{padding:11px 13px;font-size:14px;gap:8px}
#apApp .edu summary span{flex:none}
#apApp .edu-bd{padding:2px 12px 12px;gap:8px}
#apApp .edu-step{padding:11px;font-size:14px}
#apApp .edu-sum{padding:10px 12px;font-size:14px}
#apApp table{font-size:14px}
#apApp th{padding:8px 7px;font-size:14px}
#apApp td{padding:7px 7px}
#apApp #trendOut td.l{white-space:normal;word-break:keep-all;min-width:92px}
#apApp .legend{gap:6px 12px;font-size:14px}
#apApp .grid2{gap:10px}
#apApp .grid2 .card{padding:12px}
#apApp .card h3{font-size:14px}
#apApp .say{font-size:14px;padding:9px 11px;margin-bottom:10px}
#apApp .qs{margin-bottom:12px}
#apApp .qsIn{height:44px;font-size:14px}
#apApp .qsList div{padding:11px 14px}
#apApp .pick{gap:10px}
#apApp .yebi input{width:100px;height:48px;font-size:22px}
#apApp .verdict{padding:14px;font-size:14.5px}
#apApp .ycards{gap:8px}
#apApp .yc{padding:12px}
#apApp .yc .n{font-size:16px}
#apApp .refnote{padding:10px 12px;font-size:14px}
}

/* 상세 조건 펼침: 위쪽 「열기」 줄·점선과 간격 */
#apApp .detail{margin-top:16px}
#apApp .detail .fg:first-child{padding-top:14px}

/* 초기화 = 빨간 테두리·글자 / 상세 조건 열기·닫기 = 옅은 노란 배경 */
#apApp .btn-reset{border-color:#e0453a;color:#e0453a}
#apApp .btn-reset:hover{background:#fdecea;border-color:#c62f25;color:#c62f25}
#apApp #btnDetail{background:#fff4c2;border-color:#e3c65a;color:var(--navy)}
#apApp #btnDetail:hover{background:#ffec99;border-color:#caa52c}
@media (max-width:900px){
#apApp .fc .ck input{width:auto;flex:none}
}
@media (max-width:600px){
#apApp .sec-hd .btn-reset{order:1;height:32px;padding:0 12px}
#apApp .sec-hd p{order:2}
}
#apApp .ex b{white-space:nowrap}

/* 페이지 머리(.sub-hero) — 학년도 강조 · 집계 기준 안내 */
.sub-hero .ap-yrs{color:var(--brand2);font-weight:700}
.sub-hero p.ap-hnote{margin-top:.5rem;font-size:14px;color:#475569}
.sub-hero p.ap-hnote b{color:#0f172a;font-weight:600}
@media (max-width:575.98px){.sub-hero p{font-size:14px}}   /* 모바일 머리말 설명 두 줄을 14px 로 맞춤(공통 규칙은 13px, 둘째 줄만 14px 이던 것) (2026-09-19) */

/* ══ 모바일(≤575) 글자 크기 역할별 통일 + 왼쪽 정렬 문장 양끝 정렬 (2026-10-13 사용자 지시 — 대학입결검색기 기준표 방식)
   대제목 20 · 구역 제목 17 · 상자·카드 제목 15 · 본문 14 · 구역 설명·안내문 13 · 표·칩·탭·보조 단추 13 · 배지·주석·꼬리말 12 · 강조 숫자 22 · 그래프 글자 11
   양끝 정렬은 원래 왼쪽 정렬이던 문장만(가운데 정렬은 그대로) — 글자 단위 줄넘김으로 띄어쓰기가 벌어지지 않게 · 홈 대문(제목·부제·단추·인용)은 그대로 */
@media (max-width:575.98px){
  .sub-hero p,.sub-hero p.ap-hnote{font-size:13px}
  #apApp .hq{font-size:15px}#apApp .ha{font-size:14px}
  #apApp .tab{font-size:13px}
  #apApp .sec-hd h2{font-size:17px}#apApp .sec-hd p{font-size:13px}#apApp .sec-hd .no,#apApp .kind{font-size:12px}
  #apApp .zone{font-size:12px}
  #apApp .flab,#apApp .fld label{font-size:14px}#apApp .flab small{font-size:12px!important}
  #apApp .chip,#apApp .ck,#apApp .seg button{font-size:13px}
  #apApp .btn-reset,#apApp .btn-more,#apApp .more,#apApp .jump button{font-size:13px}
  #apApp .dnote{font-size:12px}
  #apApp .kpi .k{font-size:12px}#apApp .kpi .v{font-size:22px}#apApp .kpi .v small{font-size:12px!important}
  #apApp .edu summary{font-size:15px}#apApp .edu summary span{font-size:13px}
  #apApp .edu-step,#apApp .edu-sum{font-size:14px}#apApp .es-n{font-size:12px}#apApp .ex{font-size:13px}
  #apApp .cnt,#apApp .cnt b{font-size:13px}
  #apApp table,#apApp th{font-size:13px}#apApp th small{font-size:12px!important}
  #apApp .cr,#apApp .lvt,#apApp .tag{font-size:13px}#apApp .t-gy,#apApp .t-jh{font-size:12px}
  #apApp .legend{font-size:12px}
  #apApp .card h3{font-size:15px}#apApp .card .desc{font-size:13px}#apApp .sn{font-size:12px}
  #apApp .say{font-size:14px}
  #apApp .yebi .lb{font-size:14px}#apApp .verdict{font-size:15px}
  #apApp .yc .y,#apApp .yc>div:nth-child(3),#apApp .yc .r{font-size:12px}#apApp .yc .n{font-size:22px}
  #apApp .refnote{font-size:14px}
  #apApp .use-t{font-size:17px}#apApp .use-l b{font-size:15px}#apApp .use-l span{font-size:14px}#apApp .use-n{font-size:12px}
  #apApp .swipe-hint{font-size:13px}#apApp .ap-loading{font-size:14px}
  /* 양끝 정렬 */
  .sub-hero p,#apApp .ha,#apApp .edu-step>div,#apApp .edu-sum,#apApp .use-l span,#apApp .use-n,#apApp .ex,#apApp .dnote,#apApp .sec-hd p,#apApp .card .desc,#apApp .say,#apApp .refnote{text-align:justify;text-justify:inter-word;word-break:normal;overflow-wrap:anywhere}
}
