  :root{
    --bg:#F6F8FC;
    --card:#FFFFFF;
    --navy:#1B3B86;
    --brand-accent:#16282B;
    --amber:#C8830A;
    --line:#B8C3D7;
    --txt:#1A2333;
    --muted:#5A6A85;
    --green:#2E9E5B;
    --yellow:#D99000;
    --orange:#E07B00;
    --red:#D14343;
    --section-alt:#EDF1FA;
    --lh-tight:1.3;
    --lh-base:1.5;
    --lh-loose:1.6;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  /* ══ 전역 규칙: 모든 글자 최소 13px ══ */
  html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;}
  html::-webkit-scrollbar{display:none;}
  body{scrollbar-width:none;-ms-overflow-style:none;}
  body::-webkit-scrollbar{display:none;}
  body{
    font-family:'Noto Sans KR',system-ui,-apple-system,sans-serif;
    background:var(--bg);color:var(--txt);line-height:var(--lh-base);
    -webkit-font-smoothing:antialiased;font-size:16px;
    background-image:
      linear-gradient(rgba(100,140,210,.055) 1px, transparent 1px),
      linear-gradient(90deg, rgba(100,140,210,.055) 1px, transparent 1px);
    background-size:30px 30px;
  }
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 20px;}

  /* ---------- HEADER ---------- */
  header.site{
    position:sticky;top:0;z-index:100;background:var(--brand-accent);
  }
  .nav{display:flex;align-items:center;flex-wrap:wrap;gap:11px 20px;
    max-width:1180px;margin:0 auto;padding:14px 20px;}
  .logo{line-height:var(--lh-tight);display:flex;align-items:baseline;gap:9px;min-width:0;overflow:hidden;}
  .logo-name{font-family:'Noto Serif KR',serif;
    font-size:22px;font-weight:700;color:#fff;letter-spacing:-.3px;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .logo-name-sub{font-family:'Noto Sans KR',system-ui,-apple-system,sans-serif;
    font-size:.68em;font-weight:400;color:rgba(255,255,255,.75);}
  .header-seal{height:32px;flex-shrink:0;display:block;}
  .hamburger{margin-left:auto;flex-shrink:0;}
  /* 메인 사이트(index.html)와 동일한 상단 인라인 nav — 02_Website wireframe.css .brand/.navlinks/.navdrop 이식 */
  .mainnav-brand{font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:17px;white-space:nowrap;}
  .mainnav-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
  .mainnav-links>a{text-decoration:none;padding:7px 10px;position:relative;color:#fff;font-size:15px;font-weight:500;}
  .mainnav-links>a::after{content:"";position:absolute;left:10px;right:10px;bottom:-15px;height:2px;background:#8FBFA0;transform:scaleX(0);transition:transform .2s;}
  .mainnav-links>a:hover::after{transform:scaleX(1);}
  .mainnav-drop{position:relative;}
  .mainnav-drop>a{text-decoration:none;display:inline-block;position:relative;padding:7px 10px;color:#fff;font-size:15px;font-weight:500;}
  .mainnav-drop>a::before{content:"";position:absolute;left:10px;right:18px;bottom:-15px;height:2px;background:#8FBFA0;transform:scaleX(0);transition:transform .2s;}
  .mainnav-drop:hover>a::before{transform:scaleX(1);}
  .mainnav-drop>a::after{content:"▾";margin-left:4px;font-size:11px;color:rgba(255,255,255,.65);}
  .mainnav-drop-menu{display:flex;position:absolute;top:calc(100% + 15px);left:0;margin-top:0;
    background:rgba(0,0,0,.7);box-shadow:0 18px 36px rgba(0,0,0,.25);
    width:max-content;min-width:100px;max-width:200px;padding:6px;flex-direction:column;z-index:20;
    opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s ease,transform .22s ease,visibility .22s;}
  .mainnav-drop-menu a{display:block;padding:10px 14px;font-size:14px;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;color:#fff;transition:background .15s,color .15s;}
  .mainnav-drop-menu a:hover{background:rgba(255,255,255,.12);color:#8FBFA0;}
  .mainnav-drop:hover .mainnav-drop-menu{opacity:1;visibility:visible;transform:translateY(0);}
  /* 모바일 최적화 — 800px 이하에서는 인라인 메뉴가 좁은 공간에 줄바꿈되어 헤더가
     지나치게 커지므로 숨기고 햄버거 드로어로만 접근(링크는 전부 드로어에도 있음) */
  @media(max-width:800px){.mainnav-links{display:none;}}
  .header-line-wrap{max-width:1180px;margin:0 auto;padding:0 20px;}
  .header-line{height:0;border-top:3px solid var(--navy);}
  .nav+.header-line-wrap .header-line{border-top-color:rgba(255,255,255,.15);}
  .header-subnav{background:#fff;}
  .header-subnav-inner{display:flex;align-items:center;justify-content:center;gap:2px;
    max-width:1180px;margin:0 auto;padding:0 12px;
    overflow-x:auto;white-space:nowrap;}
  /* 헤더 내비게이션 — PC·모바일 공통으로 햄버거 뒤에 숨김 (사용자 요청: PC도 모바일처럼 항상 햄버거) */
  /* 햄버거 메뉴 — 우측 슬라이드 패널  */
  .navlinks{display:none;position:fixed;top:0;right:0;bottom:0;
    width:min(260px,78vw);background:var(--brand-accent);
    flex-direction:column;align-items:stretch;
    padding:0 0 24px;box-shadow:-6px 0 28px rgba(0,0,0,.2);
    overflow-y:auto;z-index:250;}
  .navlinks.open{display:flex;}
  .navlinks-head{position:relative;display:flex;align-items:center;justify-content:flex-end;
    padding:44px 16px 22px;
    border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:6px;}
  .navlinks-head img{height:110px;opacity:.5;}
  .navlinks-close{position:absolute;top:12px;right:16px;background:none;border:none;color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:4px;}
  .navlinks-close:hover{color:rgba(255,255,255,.65);}
  .nav-cat{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1);}
  .nav-cat-title{color:#fff;font-size:17px;font-weight:800;margin-bottom:12px;}
  .nav-cat-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
  .nav-cat-links a,.nav-cat-links button.nav-tab{
    background:none;border:none;font-family:inherit;cursor:pointer;
    font-size:15px;font-weight:400;color:rgba(255,255,255,.72);padding:0;text-align:left;transition:.15s;}
  .nav-cat-links a:hover,.nav-cat-links button.nav-tab:hover{color:#fff;}
  .nav-cat-links button.nav-tab.active{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px;}
  /* 드로어 안 링크 — 소개/문의&공지/관악구11高분석 마우스오버 시 우측 플라이아웃 서브메뉴 */
  .ndrop-links{display:flex;flex-direction:column;gap:2px;padding:10px 16px 6px;}
  .ndrop{position:relative;}
  .ndrop>a{display:block;padding:10px 0;font-size:15px;font-weight:400;color:rgba(255,255,255,.85);text-decoration:none;transition:.15s;}
  .ndrop>a:hover{color:#fff;}
  /* 드로어 자체가 화면 우측에 딱 붙어 있어(right:0) 서브메뉴를 트리거 기준으로 절대배치하면
     '우측으로' 열어도 화면 밖으로 나가버린다. position:fixed 로 두고 JS(positionFlyout)가
     매번 트리거의 실제 화면 좌표를 기준으로 항상 화면 안에 들어오게 left/top을 계산해서 넣는다. */
  .ndrop-flyout{display:flex;flex-direction:column;position:fixed;top:0;left:0;margin:0;
    background:rgba(0,0,0,.85);box-shadow:0 18px 36px rgba(0,0,0,.35);
    width:max-content;min-width:180px;max-width:260px;padding:6px;z-index:260;
    opacity:0;visibility:hidden;transform:scale(.98);transform-origin:top left;
    transition:opacity .18s ease,transform .18s ease,visibility .18s;pointer-events:none;}
  .ndrop-flyout a{display:block;padding:10px 14px;font-size:14px;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;color:#fff;transition:background .15s,color .15s;}
  .ndrop-flyout a:hover{background:rgba(255,255,255,.12);color:#8FBFA0;}
  .ndrop:hover .ndrop-flyout{opacity:1;visibility:visible;transform:scale(1);pointer-events:auto;}
  /* 좁은 화면(터치 기기 포함) — 옆으로 띄우면 화면 밖으로 잘리고 호버 자체가 안 먹으므로
     플라이아웃 대신 항목 아래로 펼쳐지는 인라인 목록으로 대체. 평소엔 접혀있다가
     트리거를 클릭하면(JS, .open 토글) 펼쳐진다 */
  @media(max-width:520px){
    .ndrop-flyout{position:static;left:auto;top:auto;margin:0;max-width:none;min-width:0;
      opacity:0;visibility:hidden;max-height:0;overflow:hidden;transform:none;pointer-events:auto;
      transition:max-height .22s ease;box-shadow:none;background:rgba(0,0,0,.25);padding:0;}
    .ndrop-flyout a{padding:9px 14px;font-size:13.5px;white-space:normal;}
    .ndrop.open .ndrop-flyout{opacity:1;visibility:visible;max-height:400px;margin-bottom:4px;padding:6px;}
  }
  .ndrop-plain{display:block;padding:10px 0;font-size:15px;font-weight:400;color:rgba(255,255,255,.85);text-decoration:none;transition:.15s;}
  .ndrop-plain:hover{color:#fff;}
  .navlinks-foot{padding:18px 16px 0;display:flex;flex-direction:column;gap:10px;}
  .navlinks a.cta{background:#4472C4;color:#fff;font-weight:700;border-radius:0;text-align:center;
    border:none;padding:13px 12px;font-size:16px;transition:.15s;}
  .navlinks a.cta:hover{background:#375ba0;}
  .navlinks-foot>a{color:rgba(255,255,255,.85);font-size:15px;padding:2px 0;transition:.15s;}
  .navlinks-foot>a:hover{color:#fff;}
  .nav-tab{
    background:none;border:none;cursor:pointer;
    font-size:16px;font-weight:500;color:rgba(255,255,255,.75);
    padding:8px 13px;border-radius:0;transition:.15s;
    font-family:inherit;
  }
  .nav-tab:hover{background:rgba(255,255,255,.12);color:#fff;}
  .nav-tab.active{background:rgba(255,255,255,.18);color:#fff;font-weight:700;}
  .logout-btn{background:rgba(255,255,255,.15);color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.3);border-radius:0;padding:8px 12px;font-size:14px;font-weight:500;cursor:pointer;transition:.15s;}
  .logout-btn:hover{background:rgba(220,60,60,.7);color:#fff;border-color:transparent;}
  .hamburger{display:flex;flex-direction:column;gap:5px;cursor:pointer;
    background:none;border:none;padding:8px;flex-shrink:0;}
  .hamburger span{width:22px;height:2px;background:#fff;border-radius:0;}

  /* ---------- HERO ---------- */
  .hero{text-align:center;padding:62px 0 48px;}
  .hero h1{font-family:'Noto Serif KR',serif;font-size:clamp(26px,5vw,40px);font-weight:700;color:var(--navy);
    letter-spacing:-.5px;line-height:var(--lh-tight);}
  .hero h1 .sub2{display:block;font-size:clamp(18px,3.4vw,26px);color:var(--txt);
    margin-top:8px;font-weight:600;}
  .hero .lead{color:var(--muted);font-size:16px;margin-top:18px;}
  .statbar{display:flex;gap:14px;justify-content:center;flex-wrap:nowrap;margin:32px 0 28px;}
  .statcard{background:#fff;border:1.5px solid var(--line);border-radius:0;
    padding:20px 18px;flex:1;max-width:190px;min-width:0;
    box-shadow:0 4px 18px rgba(28,61,107,.08);text-align:center;}
  .statcard .ico{font-size:22px;}
  .statcard .num{font-size:24px;font-weight:800;color:var(--navy);margin-top:5px;}
  .statcard .lbl{font-size:14px;color:var(--muted);margin-top:3px;}
  .herobtns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
  /* hero inline premium CTA */
  .hero-prem-box{background:#EDF2FB;border:1.5px solid var(--line);border-radius:0;padding:18px 22px;max-width:660px;margin:0 auto;}
  .hero-prem-flow{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;font-size:16px;font-weight:600;color:var(--navy);}
  .hero-prem-flow .step{background:#fff;border:1px solid var(--line);padding:5px 12px;border-radius:0;white-space:nowrap;color:var(--navy);}
  .hero-prem-flow .arr{color:var(--muted);font-size:14px;}
  .hero-prem-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;}
  .hero-chan-btn{display:inline-flex;align-items:center;gap:6px;background:#FEE500;color:#191919;padding:10px 18px;border-radius:0;font-size:16px;font-weight:800;text-decoration:none;white-space:nowrap;transition:.15s;}
  .hero-chan-btn:hover{opacity:.88;transform:translateY(-1px);}
  .hero-pw-wrap{display:flex;gap:0;border-radius:0;overflow:hidden;border:2px solid var(--line);}
  .hero-pw-wrap input{width:150px;padding:10px 12px;border:none;font-size:16px;background:#fff;outline:none;font-family:inherit;color:var(--txt);}
  .hero-pw-wrap button{padding:10px 16px;background:var(--amber);color:#fff;border:none;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s;}
  .hero-pw-wrap button:hover{background:#b07408;}
  .hero-pw-err{font-size:12px;color:#c0392b;text-align:center;margin-top:6px;min-height:14px;}
  /* Section teaser preview cards */
  .pv-section{background:var(--section-alt);}
  .pv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:8px;}
  @media(max-width:640px){.pv-grid{grid-template-columns:1fr;}}
  .pv-card{background:#fff;border:1.5px solid var(--line);border-radius:0;padding:18px 20px;display:flex;flex-direction:column;}
  .pv-card:hover{box-shadow:0 6px 22px rgba(28,61,107,.09);}
  .pv-head{display:flex;align-items:center;gap:9px;margin-bottom:7px;}
  .pv-icon{font-size:22px;line-height:1;}
  .pv-title{font-size:16px;font-weight:700;color:var(--navy);}
  .pv-desc{font-size:14px;color:var(--muted);line-height:var(--lh-base);margin-bottom:10px;}
  .pv-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:13px;}
  .pv-tag{font-size:12px;background:var(--section-alt);color:var(--navy);padding:3px 9px;border-radius:0;font-weight:500;}
  .pv-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#FDF5E4;border:1px solid #EDD080;border-radius:0;padding:9px 13px;margin-top:auto;}
  .pv-bar.unlocked{background:#E9F7EE;border-color:#82C99A;}
  .pv-bar-label{font-size:14px;font-weight:600;color:#8B6000;}
  .pv-bar.unlocked .pv-bar-label{color:#2E7D45;}
  .pv-bar-btn{background:var(--amber);color:#fff;border:none;border-radius:0;padding:5px 13px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;transition:.15s;flex-shrink:0;}
  .pv-bar-btn:hover{background:#b07408;}
  .pv-bar.unlocked .pv-bar-btn{background:var(--navy);}
  .pv-bar.unlocked .pv-bar-btn:hover{background:#16315a;}
  .btn{display:inline-block;padding:14px 26px;border-radius:0;font-weight:600;
    font-size:16px;cursor:pointer;border:none;font-family:inherit;transition:.18s;}
  .btn-navy{background:var(--navy);color:#fff;}
  .btn-navy:hover{background:#16315a;transform:translateY(-2px);}
  .btn-amber{background:var(--amber);color:#fff;}
  .btn-amber:hover{background:#b07408;transform:translateY(-2px);}

  /* ---------- SECTIONS ---------- */
  section.block{padding:64px 0;}
  section.block:nth-child(even){background:rgba(255,255,255,.72);}
  .sechead{text-align:center;margin-bottom:42px;}
  .sechead h2{font-family:'Noto Serif KR',serif;font-size:clamp(24px,3.8vw,34px);font-weight:700;color:var(--navy);
    letter-spacing:-.5px;position:relative;display:inline-block;padding-bottom:14px;}
  .sechead h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);
    width:44px;height:3.5px;background:var(--amber);border-radius:0;}
  .sechead p{color:var(--muted);font-size:16px;margin-top:10px;}
  /* #schools(11개교) 섹션 헤드 — inquiry.html의 .snu-hero(문의상담)와 동일한
     좌측 정렬 + eyebrow 라벨 다크 히어로 패턴으로 통일 */
  #schools{padding-top:0;}
  #schools .sechead{background:var(--brand-accent);width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:0;margin-bottom:42px;text-align:left;}
  #schools .sechead-inner{max-width:1180px;margin:0 auto;padding:56px 24px;}
  #schools .sechead-eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#8FBFA0;margin-bottom:10px;}
  #schools .sechead h2{color:#fff;text-align:left;display:block;}
  #schools .sechead h2::after{display:none;}
  #schools .sechead p{color:rgba(255,255,255,.75);text-align:left;max-width:640px;margin-top:10px;}

  .reveal{opacity:0;transform:translateY(22px);transition:.7s cubic-bezier(.2,.7,.3,1);}
  .reveal.show{opacity:1;transform:none;}

  /* ---------- SCHOOL CARDS ---------- */
  .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  @media(max-width:1100px){.grid{grid-template-columns:repeat(3,1fr);}}
  @media(max-width:860px){.grid{grid-template-columns:repeat(2,1fr);gap:10px;}}
  @media(max-width:480px){.grid{grid-template-columns:1fr;}}
  .school{background:#fff;border:1.5px solid var(--line);border-radius:0;
    padding:0;overflow:hidden;display:flex;flex-direction:column;
    transition:.22s;box-shadow:0 2px 10px rgba(28,61,107,.07);}
  .school:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(28,61,107,.13);}
  /* 학교 요약 카드 (한눈에 보기) */
  .sc-body{position:relative;padding:15px 16px 14px;flex:1;display:flex;flex-direction:column;}
  .sc-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:9px;padding-right:52px;}
  .sc-name{font-size:22px;font-weight:800;color:var(--navy);letter-spacing:-.5px;line-height:var(--lh-tight);}
  .sc-tag{font-size:12px;font-weight:600;padding:3px 8px;background:#E9F3ED;color:#1E7A53;white-space:nowrap;}
  .sc-stats{font-size:15px;font-weight:700;color:var(--txt);line-height:var(--lh-tight);}
  .sc-stats .sep{color:var(--line);margin:0 6px;font-weight:400;}
  .sc-stats .warn{color:var(--red);}
  .sc-hr{border-top:1px solid var(--line);margin:11px 0;}
  .sc-adv{display:flex;align-items:center;gap:10px;}
  .sc-adv-main{font-size:15px;font-weight:700;color:var(--txt);line-height:var(--lh-tight);}
  .sc-adv-rank{display:block;font-size:13px;font-weight:500;color:var(--muted);margin-top:2px;}
  .sc-adv-rank .up{color:var(--green);font-weight:600;}
  .sc-adv-rank .down{color:var(--red);font-weight:600;}
  .sc-list{list-style:none;display:flex;flex-direction:column;gap:7px;margin-top:auto;}
  .sc-list li{font-size:14px;line-height:var(--lh-base);color:var(--txt);
    padding-left:12px;position:relative;}
  .sc-list li::before{content:'•';position:absolute;left:0;color:var(--muted);}
  .sc-list b{color:var(--navy);font-weight:700;}
  .sc-foot{background:#5E9E7B;color:#fff;font-size:14px;font-weight:700;
    padding:11px 12px;text-align:center;line-height:var(--lh-tight);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sc-head .sc-detail{position:absolute;top:13px;right:14px;
    flex-shrink:0;width:auto;padding:3px 7px;font-size:11px;line-height:1.25;
    font-weight:600;border-radius:0;border:1px solid var(--line);background:var(--bg);color:var(--navy);}
  .sc-head .sc-detail .lockmini{font-size:10px;}
  a.sc-detail{text-decoration:none;display:inline-block;cursor:pointer;}
  .sc-head .sc-detail:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
  /* 첫 화면 요약 인포그래픽 */
  .ov-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 12px;}
  @media(max-width:860px){.ov-sum{grid-template-columns:repeat(2,1fr);}}
  .ov-tile{background:#fff;border:1.5px solid var(--line);padding:14px 14px 12px;min-width:0;}
  .ov-tile .k{font-size:13px;color:var(--muted);font-weight:700;}
  .ov-tile .v{font-size:28px;font-weight:800;color:var(--navy);letter-spacing:-.5px;line-height:1.2;margin-top:4px;}
  .ov-tile .v small{font-size:15px;font-weight:700;margin-left:2px;}
  .ov-tile .d{font-size:13px;color:var(--txt);line-height:1.45;margin-top:5px;word-break:keep-all;}
  .ov-note{font-size:15px;line-height:1.65;color:var(--txt);background:var(--section-alt);
    border-left:4px solid var(--navy);padding:12px 16px;margin-bottom:12px;word-break:keep-all;}
  .ov-guide{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-size:13px;color:var(--muted);
    margin-bottom:20px;line-height:1.5;}
  .ov-guide b{color:var(--txt);}
  .ov-key{display:inline-flex;align-items:center;gap:4px;}
  .ov-key i{display:inline-block;width:12px;height:12px;}
  /* 애니메이션 (움직임 줄이기 설정이면 끈다) */
  .school .sc-dist span{width:0;transition:width .9s cubic-bezier(.2,.7,.2,1);}
  .school.in .sc-dist span{width:var(--w);}
  .spark-line{stroke-dasharray:1;stroke-dashoffset:1;}
  .school.in .spark-line{animation:sparkDraw 1.1s ease .25s forwards;}
  @keyframes sparkDraw{to{stroke-dashoffset:0;}}
  .grow-x{transform-origin:left center;animation:growX .8s cubic-bezier(.2,.7,.2,1) both;}
  @keyframes growX{from{transform:scaleX(0);}to{transform:scaleX(1);}}
  #trendGrid svg{animation:fadeUp .6s ease both;}
  @keyframes fadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
  @media (prefers-reduced-motion:reduce){
    .school .sc-dist span{transition:none;width:var(--w);}
    .spark-line{stroke-dashoffset:0;}
    .school.in .spark-line,.grow-x,#trendGrid svg{animation:none;}
  }
  /* 프리미엄 목차 칩 */
  .prem-toc{position:sticky;top:64px;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);padding:8px 0;}
  .prem-toc .wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;}
  .prem-toc .wrap::-webkit-scrollbar{display:none;}
  .prem-toc a{flex-shrink:0;font-size:13px;font-weight:700;color:var(--navy);border:1px solid var(--line);
    padding:5px 10px;text-decoration:none;background:#fff;white-space:nowrap;}
  .prem-toc a:hover{background:var(--navy);color:#fff;}
  #premium section{scroll-margin-top:120px;}
  .howto{display:inline-block;margin-top:10px;font-size:14px;color:var(--txt);background:#FFF8E6;
    border:1px solid #F0D9A0;padding:7px 12px;line-height:1.55;word-break:keep-all;text-align:left;}
  .howto b{color:#9A6400;margin-right:6px;}
  /* 학교 상세 창: 데이터 해설 */
  .mi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  @media(max-width:560px){.mi-grid{grid-template-columns:1fr;}}
  .mi-box{border:1px solid var(--line);padding:12px 14px;background:#fff;}
  .mi-box h5{font-size:15px;font-weight:800;margin:0 0 6px;}
  .mi-box p{font-size:15px;line-height:1.6;margin:0;color:var(--txt);word-break:keep-all;}
  .mi-src{font-size:12.5px;color:var(--muted);margin-top:8px;line-height:1.5;}
  .tip-sub{font-size:14px;font-weight:800;color:var(--navy);margin:2px 0 4px;}
  /* 카드 안 성적 분포 막대 */
  .sc-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;}
  .sc-lbl{font-size:13px;font-weight:700;color:var(--muted);}
  .sc-val{font-size:15px;font-weight:800;color:var(--navy);}
  .sc-dist{display:flex;height:14px;margin:6px 0 3px;background:#EEF1F6;}
  .sc-dist span{display:block;height:100%;}
  .sc-dist-cap{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);}
  .school .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
  .school h3{font-size:22px;font-weight:800;color:var(--navy);}
  .badge{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap;}
  .badge.gen{background:#E4EEFB;color:var(--navy);}
  .badge.girls{background:#FBE7F1;color:#B23A78;}
  .badge.boys{background:#E3F0EC;color:#1E7A53;}
  .metrics{display:flex;gap:0;margin:10px 0 12px;border:1.5px solid var(--line);border-radius:0;overflow:hidden;}
  .metric{flex:1;background:var(--bg);padding:8px 4px;text-align:center;border-right:1px solid var(--line);}
  .metric:last-child{border-right:none;}
  .metric .ic{font-size:16px;}
  .metric .v{font-size:14px;font-weight:700;color:var(--txt);margin-top:2px;}
  .metric .k{font-size:12px;color:var(--muted);margin-top:1px;line-height:var(--lh-tight);}
  .detail-btn{width:100%;padding:8px;border-radius:0;border:1.5px solid var(--navy);
    background:transparent;color:var(--navy);font-weight:700;font-size:14px;
    cursor:pointer;font-family:inherit;transition:.15s;}
  .detail-btn:hover{background:var(--navy);color:#fff;}
  .lockmini{font-size:12px;color:var(--amber);}

  /* ---------- CHART CARD ---------- */
  .chartcard{background:#fff;border:1.5px solid var(--line);border-radius:0;
    padding:28px 24px;margin-top:36px;box-shadow:0 4px 20px rgba(28,61,107,.07);}
  .chartcard h3{font-size:18px;font-weight:800;color:var(--navy);margin-bottom:6px;text-align:center;}
  .chartcard .csub{font-size:14px;color:var(--muted);text-align:center;margin-bottom:20px;}
  .chart-analysis{background:#EEF4FF;border-left:3.5px solid var(--navy);border-radius:0;padding:16px 20px;margin-top:20px;font-size:16px;line-height:var(--lh-loose);color:var(--txt);}
  .chart-analysis strong{color:var(--navy);}
  .chart-analysis ul{margin:6px 0 0 0;padding-left:18px;}
  .chart-analysis li{margin-bottom:5px;}
  .chartbox{position:relative;width:100%;}

  /* ---------- LOCK BANNER (글래스 효과 — 이 배너 한정 예외 적용) ---------- */
  .lockbanner{background:linear-gradient(135deg,rgba(27,59,134,.55) 0%,rgba(22,49,90,.55) 100%);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.28);
    border-radius:20px;padding:42px 28px;text-align:center;color:#fff;
    box-shadow:0 16px 40px rgba(28,61,107,.25);
    max-width:760px;margin:0 auto;}
  .lockbanner h2{font-size:clamp(20px,3.4vw,26px);font-weight:700;}
  .lockbanner .feats{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:18px 0 26px;}
  .lockbanner .feats span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    padding:7px 15px;border-radius:999px;font-size:14px;}
  .lock-step{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.25);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border-radius:14px;padding:16px 18px;}
  .lockrow{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;align-items:center;}
  .pwbox{display:flex;gap:8px;}
  .pwbox input{padding:13px 16px;border-radius:10px;border:none;font-size:16px;
    font-family:inherit;width:180px;outline:none;}
  .pwbox button{background:#fff;color:var(--navy);font-weight:700;padding:0 20px;
    border-radius:10px;border:none;cursor:pointer;font-family:inherit;font-size:16px;}
  .pwerr{color:#ffd6d6;font-size:14px;margin-top:12px;min-height:18px;}

  /* ---------- PREMIUM ---------- */
  .premium{display:none;}
  .premium.unlocked{display:block;}
  .premflag{display:inline-block;background:var(--amber);color:#fff;font-size:14px;
    font-weight:600;padding:3px 10px;border-radius:999px;margin-left:8px;vertical-align:middle;}
  .infobox{background:#EEF4FF;border:1.5px solid #C0D4F5;border-left:4px solid var(--navy);
    border-radius:0;padding:20px 22px;font-size:16px;color:var(--txt);margin-bottom:24px;
    line-height:var(--lh-loose);}
  .infobox b{color:var(--navy);}
  .infobox.warn{background:#FFF8EE;border-color:#F5CFA0;border-left-color:var(--amber);}
  .infobox.warn b{color:#a36400;}
  .infobox ul{margin:10px 0 0 20px;}
  .infobox li{margin:5px 0;}

  .toggle{display:flex;gap:8px;justify-content:center;margin-bottom:24px;flex-wrap:wrap;}
  .toggle button,.subjtabs button{background:#fff;border:1.5px solid var(--line);
    color:var(--muted);padding:10px 22px;border-radius:0;cursor:pointer;
    font-size:16px;font-weight:600;font-family:inherit;transition:.15s;
    box-shadow:0 1px 4px rgba(28,61,107,.06);}
  .toggle button.active,.subjtabs button.active{background:var(--navy);color:#fff;border-color:var(--navy);
    box-shadow:0 3px 10px rgba(28,61,107,.2);}
  .toggle button:hover:not(.active),.subjtabs button:hover:not(.active){background:var(--section-alt);color:var(--navy);}
  .subjtabs button.active::before{content:'✓ ';}
  .subjtabs{display:flex;gap:8px;justify-content:flex-start;margin-bottom:14px;
    flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
  .subjtabs button{flex:0 0 auto;white-space:nowrap;}
  .filter-label{font-size:14px;color:var(--muted);font-weight:600;margin:0 0 6px;}

  /* heatmap table */
  .tablewrap{overflow-x:auto;}
  table.heat{border-collapse:collapse;width:100%;min-width:420px;background:#fff;
    border-radius:0;overflow:hidden;font-size:16px;box-shadow:0 2px 12px rgba(28,61,107,.06);}
  table.heat th,table.heat td{padding:12px 10px;text-align:center;border:1px solid var(--line);}
  table.heat thead th{background:var(--navy);color:#fff;font-weight:700;}
  table.heat tbody th{background:var(--section-alt);color:var(--navy);font-weight:700;text-align:center;padding-left:14px;}
  .cell{font-weight:700;color:#fff;border-radius:0;}
  /* 커트라인 히트맵 전용 4단계 톤 — 인접 단계가 뚜렷이 구분되도록 색상환 간격을 넓힘
     (사이트 공용 --yellow/--orange/--red와는 별도 값이라 다른 곳에 영향 없음) */
  .c-green{background:var(--green);}
  .c-yellow{background:#D4A017;}
  .c-orange{background:#C2650C;}
  .c-red{background:#B0392B;}
  .legend{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:16px;font-size:14px;color:var(--muted);}
  .legend span{display:inline-flex;align-items:center;gap:6px;}
  .dot{width:13px;height:13px;border-radius:0;display:inline-block;}

  /* checkboxes */
  .checkrow{display:flex;flex-wrap:wrap;
    align-items:center;gap:16px;justify-content:flex-start;margin-bottom:10px;
    background:var(--section-alt);border:1px solid var(--line);border-radius:0;padding:10px 14px;}
  .checkrow label{font-size:14px;display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;white-space:nowrap;
    background:none;border:none;padding:0;border-radius:0;cursor:pointer;}

  /* ---------- MODAL ---------- */
  .modal{display:none;position:fixed;inset:0;z-index:300;background:rgba(20,30,50,.55);
    align-items:center;justify-content:center;padding:18px;}
  .modal.open{display:flex;}
  .modal-inner{background:var(--bg);border-radius:0;max-width:960px;width:100%;
    max-height:92vh;overflow-y:auto;padding:28px;box-shadow:0 24px 60px rgba(0,0,0,.3);position:relative;
    scrollbar-width:none;-ms-overflow-style:none;}
  .modal-inner::-webkit-scrollbar{display:none;}
  .modal-inner h3{font-size:23px;font-weight:700;color:var(--navy);}
  .modal-close{position:absolute;top:14px;right:16px;background:rgba(255,255,255,.3);
    border:none;color:#fff;font-size:20px;cursor:pointer;z-index:10;width:30px;height:30px;
    border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;}
  .modal-close:hover{background:rgba(255,255,255,.5);}
  /* modal tabs */
  .m-tabs{display:flex;gap:3px;padding:14px 0 0;border-bottom:2px solid var(--line);flex-wrap:nowrap;margin:12px 0 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;}
  .m-tabs::-webkit-scrollbar{display:none;}
  .mtab{padding:7px 9px;border-radius:0;border:1.5px solid var(--line);background:var(--card);color:#111;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:.15s;border-bottom:2px solid var(--line);margin-bottom:-2px;white-space:nowrap;}
  .mtab.active{background:var(--navy);color:#fff;border-color:var(--navy);}
  .m-panel{display:none;padding-top:6px;}
  .m-panel.active{display:block;}
  .rep-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  @media(max-width:680px){.rep-grid2{grid-template-columns:1fr;}}
  .rep-card{background:var(--card);border:1px solid var(--line);border-radius:0;padding:24px;margin-bottom:24px;min-width:0;}
  .rep-lbl{font-size:17px;font-weight:800;letter-spacing:.3px;margin-bottom:16px;color:var(--txt);border-left:3px solid var(--navy);padding-left:10px;}
  .lbl-ico{font-size:1.5em;line-height:1;display:inline-block;vertical-align:-.18em;margin-right:2px;}
  .rep-val{font-size:16px;line-height:var(--lh-loose);color:var(--txt);}
  .rep-val p{margin:0;padding:8px 0;border-bottom:1px dashed var(--line);}
  .rep-val p:last-child{border-bottom:none;padding-bottom:0;}
  .rep-val p:first-child{padding-top:0;}
  .rec-source{color:var(--muted);font-size:14px;margin-top:8px;font-style:italic;}
  /* 과목·동아리명 나열은 개수가 많고 줄바꿈이 잦아 좌측 정렬이 읽기 쉽다
     (표의 '항목' 셀 가운데 정렬 규칙과는 별개) */
  .elect-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;justify-content:flex-start;}
  .elect-pill{background:#F1F2F4;color:var(--txt);font-size:16px;padding:4px 12px;border-radius:0;font-weight:600;white-space:nowrap;}
  .dir-box{border-radius:0;padding:14px 16px;margin-bottom:12px;}
  .dir-yr{font-size:16px;font-weight:800;color:#111;margin-bottom:6px;}
  .dir-txt{font-size:16px;line-height:var(--lh-loose);color:#111;}
  /* uploaded image gallery */
  .upl-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:10px;}
  .upl-img-card{border:1px solid var(--line);border-radius:0;overflow:hidden;background:#fff;cursor:zoom-in;transition:.15s;}
  .upl-img-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12);}
  .upl-img-card img{width:100%;display:block;max-height:180px;object-fit:contain;background:#f5f5f5;}
  .upl-img-meta{padding:8px 10px;font-size:14px;color:var(--muted);border-top:1px solid var(--line);}
  .upl-img-meta strong{color:var(--txt);}
  /* 생기부 activity section */
  .gb-tip-box{background:linear-gradient(135deg,#F0F9FF,#E0F2FE);border:1.5px solid #BAE6FD;border-radius:0;padding:16px;margin-top:4px;min-width:0;}
  .gb-tip-title{color:#0369A1;font-size:16px;font-weight:700;margin-bottom:10px;}
  .gb-act-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;}
  @media(max-width:560px){.gb-act-grid{grid-template-columns:1fr;}}
  .m-print-bar{display:flex;align-items:center;justify-content:flex-end;padding:14px 0 0;border-top:1px dashed var(--line);margin-top:16px;gap:10px;}
  /* modal year selector */
  .modal-yr-bar{display:flex;gap:8px;flex-wrap:nowrap;padding:10px 0 4px;border-bottom:1px dashed var(--line);margin-bottom:0;align-items:center;}
  /* compare block */
  .cmp-header-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:4px;}
  .cmp-badge{background:var(--navy);color:#fff;font-size:14px;font-weight:700;padding:4px 12px;border-radius:0;letter-spacing:.3px;}
  .cmp-section-lbl{font-size:16px;font-weight:700;color:var(--navy);}
  .cmp-selectors{display:flex;align-items:flex-end;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:4px;}
  .cmp-sel-group{display:flex;flex-direction:column;gap:5px;}
  .cmp-sel-label{font-size:14px;font-weight:700;padding:4px 10px;border-radius:0;display:inline-block;width:fit-content;}
  .cmp-a-label{background:#EFF6FF;color:#1B3B86;}
  .cmp-b-label{background:#FFF3E0;color:#B45309;}
  .cmp-select{width:100%;padding:9px 10px;border:1.5px solid var(--line);border-radius:0;font-size:16px;font-family:inherit;background:var(--bg);color:var(--txt);cursor:pointer;}
  .cmp-select:focus{outline:none;border-color:var(--navy);}
  .cmp-vs-divider{font-size:18px;font-weight:900;color:var(--muted);padding-bottom:10px;align-self:flex-end;}
  .cmp-run-btn{background:#DC2626;color:#fff;border:none;padding:11px 36px;border-radius:0;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;transition:.15s;letter-spacing:.2px;white-space:nowrap;}
  .cmp-run-btn:hover{background:#b91c1c;}
  @media(max-width:640px){.cmp-vs-divider{display:none;}.cmp-sel-group{min-width:calc(50% - 8px);}}
  .cmp-deep-card{background:#F9F7F4;border-radius:0;padding:18px;margin-top:18px;border:1.5px solid var(--line);}
  .cmp-deep-title{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:12px;display:flex;align-items:center;gap:5px;}
  .cmp-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .cmp-fit-box-a{background:#EFF6FF;border:1.5px solid #BFDBFE;border-radius:0;padding:16px;}
  .cmp-fit-box-b{background:#FFF8F0;border:1.5px solid #FDE68A;border-radius:0;padding:16px;}
  .cmp-fit-title-a{font-size:16px;font-weight:700;color:#1B3B86;margin-bottom:10px;}
  .cmp-fit-title-b{font-size:16px;font-weight:700;color:#92400E;margin-bottom:10px;}
  .cmp-consultant{background:linear-gradient(135deg,#0F2342,#1B3B86);color:#fff;border-radius:0;padding:22px;margin-top:18px;}
  .cmp-cta-btn{display:inline-block;background:#C8830A;color:#fff;padding:12px 26px;border-radius:0;font-weight:700;font-size:16px;text-decoration:none;margin-top:14px;transition:.15s;}
  .cmp-cta-btn:hover{background:#a06a07;}
  @media(max-width:600px){.cmp-split-grid{grid-template-columns:1fr;}}
  .cmp-result-title{font-size:17px;font-weight:700;color:var(--navy);margin-bottom:20px;}
  /* Triple layout: A scorecard | radar | B scorecard */
  .cmp-triple-layout{display:grid;grid-template-columns:200px 1fr 200px;gap:16px;align-items:start;}
  .cmp-scorecard{border-radius:0;padding:16px;border:1.5px solid var(--line);}
  .cmp-scorecard.sc-a{border-color:#BFDBFE;background:#F0F7FF;}
  .cmp-scorecard.sc-b{border-color:#FDE68A;background:#FFFBF0;}
  .cmp-sc-name{font-size:17px;font-weight:800;color:var(--navy);margin-bottom:12px;text-align:center;}
  .cmp-sc-metric{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:16px;}
  .cmp-sc-metric:last-child{border-bottom:none;}
  .cmp-sc-metric .k{color:var(--muted);font-weight:500;}
  .cmp-sc-metric .v{font-weight:700;color:var(--txt);}
  .cmp-sc-metric .v.win{color:#166534;font-weight:800;}
  .cmp-radar-center{min-width:0;}
  @media(max-width:720px){
    .cmp-selectors{grid-template-columns:1fr;}.cmp-vs-divider{display:none;}
    .cmp-triple-layout{grid-template-columns:1fr;}
    .cmp-scorecard{order:2;}.cmp-radar-center{order:1;}
  }
  /* school card checkbox */
  .scard-chk-wrap{position:absolute;top:10px;left:10px;}
  .scard-chk{width:20px;height:20px;border:2px solid var(--line);border-radius:0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s;font-size:14px;font-weight:900;}
  .scard-chk.sel-a{border-color:#1B3B86;background:#1B3B86;color:#fff;}
  .scard-chk.sel-b{border-color:#B45309;background:#B45309;color:#fff;}
  .scard-chk.sel-none:hover{border-color:var(--navy);background:#EFF6FF;}
  /* ---- stats section ---- */
  .stats-tab-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;}
  .stats-tab{background:var(--card);border:1.5px solid var(--line);border-radius:0;padding:9px 18px;font-size:16px;font-weight:600;color:var(--txt);cursor:pointer;font-family:inherit;transition:.15s;}
  .stats-tab:hover{background:rgba(28,61,107,.08);}
  .stats-tab.active{background:var(--navy);color:#fff;border-color:var(--navy);}
  .stats-panel{display:block;}
  .stats-panel.hidden{display:none;}
  .stats-sub{font-size:16px;font-weight:800;color:var(--txt);margin:0 0 8px;}
  /* print all modal panels */
  .print-data{display:none;}
  @media print{
    body>*:not(.modal){display:none!important;}
    .modal{position:static!important;overflow:visible!important;background:transparent!important;}
    .modal-inner{max-height:none!important;overflow:visible!important;box-shadow:none!important;padding:0!important;}
    .m-tabs{display:none!important;}
    .m-panel{display:block!important;}
    .m-panel+.m-panel{border-top:2px solid #E5DDD0;margin-top:16px;padding-top:16px;}
    .m-print-bar{display:none!important;}
    .modal-close{display:none!important;}
    .modal-yr-bar{display:none!important;}
    canvas{display:block;max-width:100%!important;}
    *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
    .print-data{display:block!important;font-size:12px;margin-top:8px;}
    .chartbox canvas{display:none!important;}
    .chartbox .print-data{display:block!important;}
  }
  .comment{background:var(--card);border-left:4px solid var(--amber);border-radius:0;
    padding:14px 16px;font-size:14px;margin-top:18px;}
  /* ---------- 모달 섹션 (상근쌤 스타일) ---------- */
  .modal-hdr{border-radius:0;padding:18px 22px;margin:-28px -28px 0;
    display:flex;align-items:center;justify-content:space-between;gap:12px;}
  .modal-hdr-name{font-size:32px;font-weight:800;color:#fff;}
  .modal-hdr-sub{font-size:16px;color:rgba(255,255,255,.9);margin-top:4px;}
  .by-badge{background:rgba(255,255,255,.22);color:#fff;font-size:14px;font-weight:600;
    padding:4px 10px;border-radius:999px;letter-spacing:.3px;white-space:nowrap;}
  .print-btn{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.45);color:#fff;
    font-size:14px;padding:6px 12px;border-radius:0;cursor:pointer;font-weight:600;
    white-space:nowrap;transition:.15s;}
  .print-btn:hover{background:rgba(255,255,255,.38);}
  .sec-hd{display:flex;align-items:center;gap:10px;margin:22px 0 12px;}
  .sec-num{width:30px;height:30px;background:var(--navy);color:#fff;border-radius:50%;
    display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;
    flex-shrink:0;}
  .sec-title{font-size:17px;font-weight:800;color:var(--navy);letter-spacing:.3px;}
  .tip-list{display:grid;gap:10px;background:var(--card);border:1px solid var(--line);
    border-radius:0;padding:18px;}
  .tip-item{display:flex;align-items:flex-start;gap:8px;font-size:16px;line-height:var(--lh-base);}
  .tip-y{color:#2E9E5B;font-size:16px;flex-shrink:0;margin-top:1px;}
  .tip-n{color:#D14343;font-size:16px;flex-shrink:0;margin-top:1px;}
  /* ---------- 핵심 배지 (학교 카드) ---------- */
  .badge-key{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;
    padding:3px 10px;border-radius:999px;margin-bottom:6px;}
  .bk-gold,.bk-blue,.bk-green,.bk-muted{background:var(--card);color:var(--navy);border:1px solid var(--line);}
  /* ---------- 포뮬러 배너 ---------- */
  .formula-banner{background:linear-gradient(135deg,#0F2342 0%,#1B3B86 60%,#0F2342 100%);
    color:#fff;padding:60px 20px;text-align:center;}
  .formula{font-size:clamp(16px,2.8vw,24px);font-weight:700;line-height:var(--lh-base);margin-bottom:24px;}
  .formula .plus,.formula .eq{color:#C8830A;margin:0 4px;}
  .formula .result{display:block;font-size:clamp(18px,3.2vw,28px);color:#F59E0B;margin-top:4px;}
  .formula-cta-btn{display:inline-block;background:#C8830A;color:#fff;padding:14px 34px;
    border-radius:0;font-weight:700;font-size:16px;text-decoration:none;transition:.15s;}
  .formula-cta-btn:hover{background:#b07408;transform:translateY(-1px);}
  .formula-sub{color:rgba(255,255,255,.6);font-size:14px;margin-top:14px;}

  /* ---------- DATA STATUS ---------- */
  table.status{border-collapse:collapse;width:100%;min-width:760px;font-size:14px;background:var(--bg);}
  table.status th,table.status td{border:1px solid var(--line);padding:9px 6px;text-align:center;}
  table.status thead th{background:var(--navy);color:#fff;font-weight:600;font-size:14px;position:sticky;top:0;}
  table.status tbody th{background:var(--card);color:var(--navy);text-align:left;padding-left:12px;white-space:nowrap;font-weight:600;}
  .sdot{font-size:16px;}
  .sgreen{color:var(--green);} .syellow{color:var(--yellow);} .sred{color:var(--red);}
  .statuslegend{display:flex;gap:18px;justify-content:center;margin-top:14px;font-size:14px;color:var(--muted);flex-wrap:wrap;}
  .statusfilters{display:flex;gap:14px;align-items:flex-end;justify-content:center;margin-top:18px;flex-wrap:wrap;}
  .statusfilters .sf-group{display:flex;flex-direction:column;gap:5px;}
  .statusfilters .sf-lbl{font-size:14px;color:var(--muted);font-weight:600;}
  .statusfilters select{background:#fff;border:1.5px solid var(--line);color:var(--txt);border-radius:0;padding:8px 12px;font-size:14px;font-family:inherit;cursor:pointer;min-width:150px;}
  .statusfilters select:focus{outline:none;border-color:var(--navy);}
  .statusfilters .sf-toggle{background:#fff;border:1.5px solid var(--line);color:var(--muted);border-radius:0;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:.15s;}
  .statusfilters .sf-toggle.active{background:var(--red);border-color:var(--red);color:#fff;}
  .statusfilters .sf-count{font-size:14px;color:var(--muted);align-self:center;}
  table.status td.cell-missing{background:rgba(220,38,38,.06);}
  table.status td.cell-has{cursor:help;}
  table.status tr.row-hidden,table.status col.col-hidden{display:none;}

  /* grade score section */
  .gd-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
  .gdtab{padding:10px 22px;border-radius:0;border:1.5px solid var(--line);background:var(--card);color:var(--txt);font-size:16px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .18s;}
  .gdtab.active{background:var(--navy);color:#fff;border-color:var(--navy);}
  .yr-row{display:flex;gap:8px;align-items:center;margin-bottom:18px;flex-wrap:wrap;}
  .yrtab{padding:7px 16px;border-radius:0;border:1.5px solid var(--line);background:#fff;color:var(--txt);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;}
  .yrtab.active{background:var(--navy);color:#fff;border-color:var(--navy);}
  .trgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
  .trpanel{border:1px solid var(--line);border-radius:10px;background:#fff;padding:4px 2px 0;}
  .trpanel svg{display:block;width:100%;height:auto;}
  .trlegend{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;font-size:13px;color:var(--muted);margin-bottom:12px;}
  .trlegend span{display:inline-flex;align-items:center;gap:4px;}
  .trnote{font-size:13px;color:var(--muted);line-height:1.7;margin-top:12px;word-break:keep-all;}
  @media (max-width:900px){.trgrid{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:600px){.trgrid{grid-template-columns:repeat(2,1fr);}}
  .yrtab-pending{padding:7px 16px;border-radius:0;border:1.5px dashed var(--line);background:#fafafa;color:var(--muted);font-size:14px;font-weight:500;cursor:default;}
  table.gs-heat{border-collapse:collapse;width:100%;table-layout:fixed;font-size:14px;}
  table.gs-heat th{background:var(--navy);color:#fff;padding:8px 3px;text-align:center;font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;}
  table.gs-heat th.subj-h{text-align:center;padding-left:8px;width:15%;}
  table.gs-heat td{padding:7px 3px;text-align:center;border-bottom:1px solid var(--line);font-size:14px;overflow:hidden;text-overflow:ellipsis;}
  table.gs-heat td.subj-cell{text-align:center;font-weight:600;color:var(--navy);background:var(--section-alt);padding-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  @media(max-width:640px){
    table.gs-heat,table.gs-heat th,table.gs-heat td{font-size:10.5px;}
    table.gs-heat th{padding:6px 2px;}
    table.gs-heat td{padding:5px 2px;}
    table.gs-heat th.subj-h{padding-left:5px;}
    table.gs-heat td.subj-cell{padding-left:5px;}
  }
  .gsh-high{background:#DCE6F6;color:#1B3B86;font-weight:700;}
  .gsh-mid{background:#EFF3FA;color:#4A6491;font-weight:600;}
  .gsh-low{background:#F8F9FB;color:#7C8698;}
  .gsh-none{background:#F3F4F6;color:#9CA3AF;}

  /* upload */
  .uploader{background:var(--card);border:1px solid var(--line);border-radius:0;
    padding:26px;margin-top:30px;}
  .uploader h3{color:var(--navy);font-size:18px;margin-bottom:18px;}
  .ustep{margin-bottom:16px;}
  .ustep label.t{display:block;font-weight:600;font-size:14px;margin-bottom:7px;color:var(--navy);}
  select,.radios{width:100%;}
  select{padding:11px 12px;border-radius:0;border:1px solid var(--line);background:var(--bg);
    font-family:inherit;font-size:16px;color:var(--txt);}
  .radios{display:flex;flex-wrap:wrap;gap:7px;}
  .radios label{font-size:14px;display:inline-flex;align-items:center;gap:5px;
    background:#fff;border:1.5px solid var(--line);padding:7px 12px;border-radius:0;cursor:pointer;}
  .radios input{accent-color:var(--navy);}
  .dropzone{border:2px dashed var(--line);border-radius:0;padding:34px 16px;text-align:center;
    cursor:pointer;color:var(--muted);transition:.18s;background:var(--bg);}
  .dropzone.drag{border-color:var(--amber);background:#fdf6e9;color:var(--amber);}
  .dropzone .big{font-size:16px;font-weight:600;color:var(--navy);}
  .dropzone .small{font-size:14px;margin-top:6px;}
  .uploadbtn{margin-top:16px;width:100%;background:var(--navy);color:#fff;padding:14px;
    border:none;border-radius:0;font-weight:600;font-size:16px;cursor:pointer;font-family:inherit;}
  .uploadbtn:disabled{opacity:.5;cursor:not-allowed;}

  .toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120px);
    background:var(--navy);color:#fff;padding:14px 22px;border-radius:0;font-size:16px;
    box-shadow:0 10px 30px rgba(0,0,0,.25);transition:.4s;z-index:400;opacity:0;}
  .toast.show{transform:translateX(-50%) translateY(0);opacity:1;}

  /* ---------- CTA / FOOTER ---------- */
  .ctaband{background:var(--navy);color:#fff;text-align:center;padding:56px 20px;}
  .ctaband h2{font-size:clamp(22px,3.6vw,28px);font-weight:700;}
  .ctaband p{color:#cdd8ea;font-size:16px;margin-top:12px;}
  .ctaband .btn{margin-top:24px;}
  footer{background:var(--card);border-top:1px solid var(--line);padding:40px 20px;}
  footer .fwrap{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;}
  footer .logo .name{font-size:20px;}
  footer .finfo{font-size:14px;color:var(--muted);line-height:var(--lh-loose);}
  footer .finfo b{color:var(--navy);}
  .disc{font-size:14px;color:var(--muted);margin-top:18px;border-top:1px dashed var(--line);
    padding-top:14px;max-width:1180px;margin-left:auto;margin-right:auto;line-height:var(--lh-loose);}
  .lock-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0 28px;text-align:left;}
  @media(max-width:640px){
    .lockbanner{padding:24px 16px;}
    .lockbanner .feats{gap:6px;margin:12px 0 16px;}
    .lock-steps{grid-template-columns:1fr;gap:10px;margin:16px 0 20px;}
  }

  /* ---------- TAB PANEL ---------- */
  .tab-panel{display:block;}
  .tab-panel[style*="display:none"]{display:none!important;}

  /* ---------- 헤더 서브내비 (구 모바일 하단 탭바 — 상단 텍스트 링크 행으로 이동) ---------- */
  .mob-tab{
    flex:0 0 auto;background:none;border:none;cursor:pointer;
    color:var(--muted);font-size:15px;font-weight:600;font-family:inherit;
    padding:14px 10px;border-bottom:2px solid transparent;
    transition:.15s;white-space:nowrap;
  }
  .mob-tab:hover{color:var(--navy);}
  .mob-tab.active{color:var(--navy);border-bottom-color:var(--navy);}

  /* ---------- 입시 일정 ---------- */
  .cal-grade-btn{
    padding:8px 20px;border-radius:0;border:1.5px solid var(--line);
    background:var(--card);color:var(--txt);font-size:16px;font-weight:600;
    cursor:pointer;transition:.15s;font-family:inherit;
  }
  .cal-grade-btn.active{background:var(--navy);color:#fff;border-color:var(--navy);}
  .cal-month-btn{
    padding:6px 13px;border-radius:0;border:1px solid var(--line);
    background:var(--card);color:var(--muted);font-size:14px;
    cursor:pointer;transition:.15s;font-family:inherit;
    line-height:var(--lh-tight);
  }
  .cal-month-btn.active{background:var(--amber);color:#fff;border-color:var(--amber);}
  .cal-check-item{
    display:flex;align-items:flex-start;gap:10px;
    padding:10px 14px;border-radius:0;background:var(--bg);
    font-size:14px;color:var(--txt);line-height:var(--lh-base);margin-bottom:8px;
  }
  .cal-check-item .ico{color:var(--green);flex-shrink:0;margin-top:2px;font-size:16px;}
  .cal-event-tag{
    display:inline-block;background:rgba(200,131,10,.12);color:var(--amber);
    border-radius:0;padding:3px 9px;font-size:14px;font-weight:600;
    margin-top:8px;margin-right:6px;
  }
  .cal-section-title{font-size:16px;font-weight:700;color:var(--navy);margin:16px 0 10px;}
  .cal-grid-wrap{margin-bottom:20px;}
  .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
  .cal-grid-wd{text-align:center;font-size:12px;font-weight:700;color:var(--muted);padding:6px 0;}
  .cal-grid-wd.sun{color:#D14343;}
  .cal-grid-wd.sat{color:#1C6BD1;}
  .cal-grid-cell{
    position:relative;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;
    border-radius:0;background:var(--bg);font-size:14px;color:var(--txt);
  }
  .cal-grid-cell.empty{background:transparent;}
  .cal-grid-cell.sun .cal-grid-daynum{color:#D14343;}
  .cal-grid-cell.sat .cal-grid-daynum{color:#1C6BD1;}
  .cal-grid-cell.has-event{background:rgba(200,131,10,.12);font-weight:700;cursor:help;}
  .cal-grid-daynum{font-size:14px;}
  .cal-grid-dot{width:5px;height:5px;border-radius:50%;background:var(--amber);margin-top:2px;}
  @media (max-width:480px){
    .cal-grid-cell{border-radius:0;}
    .cal-grid-daynum{font-size:12px;}
  }

  /* 학년별 입학 전 점검 체크리스트 — 화면 크기와 무관하게 3열 그대로, 스크롤 없이 항상 순서대로 노출 */
  .checklist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  @media(max-width:640px){
    .checklist-grid{gap:6px;}
  }

  /* 입시 일정 월별 개요 카드 (3열 4행: 3,4,5 / 6,7,8 / 9,10,11 / 12,1,2) */
  .cal-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .cal-month-card{background:var(--bg);border:1px solid var(--line);border-radius:0;padding:16px 18px;}
  .cal-month-card-hd{display:flex;align-items:baseline;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
  .cal-month-card-title{font-size:16px;font-weight:700;color:var(--navy);}
  .cal-month-card-desc{font-size:12px;color:var(--amber);font-weight:600;background:rgba(200,131,10,.12);padding:2px 8px;border-radius:999px;}
  .cal-sec-label{font-size:12px;font-weight:700;color:var(--muted);margin:10px 0 6px;}
  .cal-sec-label.divided{border-top:1px dashed var(--line);padding-top:12px;margin-top:14px;}
  .cal-event-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px;}
  .cal-event-list li{font-size:12px;line-height:var(--lh-base);color:var(--txt);padding-left:12px;position:relative;}
  .cal-event-list li::before{content:'•';position:absolute;left:0;color:var(--amber);}
  .cal-grade-block{margin-bottom:8px;}
  /* 앞에 다른 학년 블록이 있을 때만 구분선 — 첫 블록(보통 고1) 위에는 선이 생기지 않는다 */
  .cal-grade-block + .cal-grade-block{border-top:1px dashed var(--line);padding-top:11px;margin-top:11px;}
  .cal-grade-block-label{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--navy);padding:1px 8px;border-radius:0;margin-bottom:4px;}
  .cal-grade-block ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;}
  .cal-grade-block li{font-size:12px;line-height:var(--lh-base);color:var(--txt);padding-left:12px;position:relative;}
  .cal-grade-block li::before{content:'•';position:absolute;left:0;color:var(--amber);}
  @media (max-width:900px){ .cal-overview-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:600px){ .cal-overview-grid{grid-template-columns:1fr;} }

  /* PC·모바일 공통: 상단 탭 버튼은 숨기고 헤더 서브내비(.mob-tab)로 대체 */
  .nav-tab{display:none;}
  /* 햄버거 메뉴 안에서는 탭 버튼도 "학교" 카테고리의 하위 링크로 표시 (헤더 서브내비는 그대로 유지) */
  .nav-cat-links .nav-tab:not([data-tab="news"]):not([data-tab="class"]){display:inline-flex !important;}

  /* ---------- 인쇄 ---------- */
  .print-btn{
    display:inline-flex;align-items:center;gap:5px;
    background:var(--navy);color:#fff;border:none;border-radius:0;
    padding:7px 14px;font-size:14px;font-weight:600;cursor:pointer;
    font-family:inherit;transition:.15s;margin-bottom:12px;
  }
  .print-btn:hover{background:#163260;}
  .print-btn-amber{background:var(--amber);}
  .print-btn-amber:hover{background:#a86c08;}

  /* 카카오 플로팅 버튼 */
  .kakao-float{position:fixed;bottom:28px;right:24px;z-index:900;display:flex;flex-direction:column;align-items:center;gap:10px;}
  .kakao-float-btn{width:64px;padding:10px 4px 9px;border-radius:0;background:#4472C4;color:#fff;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    text-decoration:none;box-shadow:0 4px 20px rgba(0,0,0,.2);transition:transform .2s,box-shadow .2s;}
  .kakao-float-btn:hover{transform:scale(1.08);box-shadow:0 8px 28px rgba(0,0,0,.25);}
  .kakao-float-btn-icon{font-size:1.4rem;line-height:1;}
  .kakao-float-btn-label{font-size:12px;font-weight:700;color:#fff;white-space:nowrap;}
  .scrolltop-btn{width:64px;height:52px;border-radius:0;border:none;background:#4472C4;color:#fff;
    display:none;align-items:center;justify-content:center;font-size:1.4rem;line-height:1;cursor:pointer;
    box-shadow:0 4px 20px rgba(0,0,0,.2);transition:transform .2s,box-shadow .2s;}
  .scrolltop-btn.show{display:flex;}
  .scrolltop-btn:hover{transform:scale(1.08);box-shadow:0 8px 28px rgba(0,0,0,.25);}
  /* 채널 가입 플로팅 버튼 */
  .channel-float-btn{width:56px;height:56px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;text-decoration:none;box-shadow:0 4px 20px rgba(28,61,107,.3);transition:transform .2s,box-shadow .2s;}
  .channel-float-btn:hover{transform:scale(1.08);box-shadow:0 8px 28px rgba(28,61,107,.4);}

  /* 프리미엄 전환 모달 */
  .prem-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;}
  .prem-modal{background:#fff;border-radius:0;width:100%;max-width:420px;padding:32px 28px;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.2);}
  .prem-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;color:var(--muted);line-height:1;}
  .prem-step{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);}
  .prem-step:last-of-type{border-bottom:none;}
  .prem-step-num{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .prem-step-body{font-size:16px;line-height:var(--lh-base);color:var(--txt);}
  .prem-step-body strong{color:var(--navy);}
  .prem-step-body em{font-style:normal;color:var(--amber);font-weight:600;}

  @media print {
    header.site,
    .mobile-tabbar,
    .no-print,
    .herobtns,
    .hamburger,
    .print-btn,
    .kakao-float,
    #data { display:none !important; }

    * { -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }
    body { background:#fff !important; padding-bottom:0 !important; }
    body::before,body::after { display:none; }

    .tab-panel { display:block !important; }
    .tab-panel + .tab-panel { page-break-before:always; }
    .tab-panel[data-tab="overview"] { page-break-before:avoid; }

    .chartcard { break-inside:avoid; box-shadow:none !important; border:1px solid #ccc; }
    canvas { max-width:100% !important; }

    .wrap { max-width:100%; padding:0 10px; }
    section.hero { min-height:auto; padding:16px 0; }
  }

  /* ---------- ADMIN ZONE ---------- */
  .admin-zone{background:#EEEEEE;}
  .admin-badge{display:inline-flex;align-items:center;gap:5px;background:#6b7280;color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:0;letter-spacing:.5px;margin-bottom:10px;}

  /* ---------- ADMIN PANEL ---------- */
  #adminPanel{background:#111827;color:#e5e7eb;}
  #adminPanel h2{color:#f9fafb;font-size:clamp(18px,3vw,24px);}
  #adminPanel p{color:#9ca3af;}
  .admin-pw-bar{background:#1f2937;border:1px solid #374151;border-radius:0;padding:20px 24px;margin-bottom:28px;}
  .admin-pw-bar label{font-size:14px;color:#9ca3af;display:block;margin-bottom:8px;}
  .admin-pw-bar input{background:#111827;border:1px solid #374151;color:#f9fafb;border-radius:0;padding:10px 14px;font-size:16px;width:220px;margin-right:8px;}
  .admin-pw-bar input:focus{outline:none;border-color:#6366f1;}
  .admin-pw-bar button{background:#6366f1;color:#fff;border:none;border-radius:0;padding:10px 20px;font-size:16px;cursor:pointer;font-weight:600;}
  .admin-pw-bar button:hover{background:#4f46e5;}
  .admin-pw-err{color:#f87171;font-size:12px;margin-top:6px;}
  #adminContent{display:none;}
  .admin-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
  .admin-tabs button{background:#1f2937;color:#9ca3af;border:1px solid #374151;border-radius:0;padding:8px 18px;font-size:14px;cursor:pointer;font-weight:600;transition:.15s;}
  .admin-tabs button.active{background:#6366f1;color:#fff;border-color:#6366f1;}
  .admin-matrix{overflow-x:auto;}
  .admin-matrix table{border-collapse:collapse;font-size:12px;white-space:nowrap;}
  .admin-matrix th{background:#1f2937;color:#d1d5db;padding:8px 10px;border:1px solid #374151;font-weight:600;text-align:center;}
  .admin-matrix th.school-th{text-align:left;min-width:80px;position:sticky;left:0;z-index:1;background:#1f2937;}
  .admin-matrix td{padding:6px 10px;border:1px solid #374151;text-align:center;vertical-align:middle;}
  .admin-matrix td:first-child{position:sticky;left:0;background:#1a2235;z-index:1;font-weight:600;color:#d1d5db;text-align:left;padding-left:12px;}
  .admin-matrix input[type=checkbox]{width:16px;height:16px;accent-color:#6366f1;cursor:pointer;}
  .admin-summary{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;}
  .admin-stat{background:#1f2937;border:1px solid #374151;border-radius:0;padding:14px 18px;min-width:120px;}
  .admin-stat .as-num{font-size:22px;font-weight:700;color:#6366f1;}
  .admin-stat .as-lbl{font-size:12px;color:#9ca3af;margin-top:2px;}
  .admin-close-btn{margin-top:24px;background:#374151;color:#d1d5db;border:none;border-radius:0;padding:10px 22px;font-size:16px;cursor:pointer;font-weight:600;}
  .admin-close-btn:hover{background:#4b5563;}
  .admin-trigger{font-size:12px;color:#555;cursor:default;user-select:none;margin-left:8px;}
  .admin-trigger:hover{color:#888;}

  /* ── 디자인 정리: 장식 아이콘·그라데이션을 줄이고 상자 톤을 하나로 ── */
  .lbl-ico,.pv-icon:empty,.ico:empty,.sc-icon:empty{display:none;}
  .chart-analysis{background:#F7F8FB;border:1px solid var(--line);border-left:3px solid var(--navy);}
  .chart-analysis>strong:first-child{display:block;font-size:13px;letter-spacing:.06em;color:var(--muted);margin-bottom:4px;}
  .infobox{background:#F7F8FB;border:1px solid var(--line);border-left:3px solid var(--navy);}
  .infobox.warn{background:#FFFBF3;border-color:#EADBC0;border-left-color:var(--amber);}
  .howto{background:transparent;border:0;border-left:2px solid var(--amber);padding:2px 0 2px 10px;}
  .gb-tip-box{background:#F7F8FB;border:1px solid var(--line);}
  .cmp-consultant,.formula-banner{background:var(--navy);}

  /* 추천 도서 */
  .bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  @media(max-width:620px){.bk-grid{grid-template-columns:1fr;}}
  .bk-col{border:1px solid var(--line);background:#fff;padding:14px 16px;}
  .bk-col-hd{font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--muted);padding-bottom:8px;border-bottom:2px solid var(--navy);margin-bottom:4px;}
  .bk-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #EEF0F4;}
  .bk-item:last-child{border-bottom:0;}
  .bk-no{flex-shrink:0;width:22px;font-size:15px;font-weight:800;color:var(--navy);}
  .bk-title{font-size:16px;font-weight:700;color:var(--txt);word-break:keep-all;}
  .bk-author{font-size:14px;font-weight:400;color:var(--muted);}
  .bk-src{display:inline-block;font-size:12px;color:#7A5A12;border:1px solid #E6D3A8;padding:1px 6px;margin:4px 0;}
  .bk-why{font-size:14.5px;line-height:1.6;color:var(--txt);word-break:keep-all;}

  /* 학교 비교·대입전략 정리 */
  .cmp-facts{list-style:none;margin:0;padding:0;}
  .cmp-facts li{font-size:15px;line-height:1.55;padding:7px 0;border-bottom:1px solid #EEF0F4;word-break:keep-all;}
  .cmp-facts li:last-child{border-bottom:0;}
  .cmp-facts b{display:inline-block;min-width:104px;color:var(--muted);font-weight:700;font-size:13.5px;}
  .cmp-fit li{padding-left:14px;position:relative;}
  .cmp-fit li::before{content:'';position:absolute;left:0;top:15px;width:6px;height:6px;background:var(--navy);}
  .cmp-sch{font-size:16px;font-weight:800;margin-bottom:6px;}
  .cmp-split-r{border-left:1px solid var(--line);padding-left:14px;}
  @media(max-width:620px){.cmp-split-r{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:10px;}}
  .cmp-muted{font-size:13.5px;color:var(--muted);font-weight:400;}
  .cmp-a-table{width:100%;border-collapse:collapse;min-width:360px;}
  .cmp-a-table th{font-size:14px;padding:8px 10px;border-bottom:2px solid var(--navy);text-align:left;}
  .cmp-a-table td{padding:8px 10px;border-bottom:1px solid var(--line);font-size:14px;}
  .cmp-a-table td:first-child{font-weight:700;white-space:nowrap;width:84px;}
  .cmp-con-title{font-size:19px;font-weight:800;margin-bottom:10px;}
  .cmp-con-title span{font-size:14px;font-weight:600;color:#E8B04B;margin-left:10px;}
  .cmp-con-lead{font-size:16px;line-height:1.7;margin:0 0 10px;word-break:keep-all;}
  .cmp-con-list{margin:0;padding-left:18px;font-size:15px;line-height:1.65;word-break:keep-all;}
  .cmp-con-list li{margin-bottom:4px;}
  .cmp-con-foot{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.2);font-size:13.5px;opacity:.85;}
  .dir-lead{font-size:16px;line-height:1.7;margin:0 0 8px;font-weight:600;word-break:keep-all;}
  .dir-list{margin:0;padding-left:18px;font-size:15px;line-height:1.65;word-break:keep-all;}
  .dir-list li{margin-bottom:5px;}
  .dir-more summary{cursor:pointer;font-size:14px;font-weight:700;color:var(--navy);margin:6px 0;}

  /* 교수·학습 탭 */
  .ev-wrap{display:grid;gap:12px;}
  .ev-lead{font-size:16.5px;line-height:1.7;margin:0;padding:14px 16px;background:#F7F8FB;border-left:3px solid var(--navy);word-break:keep-all;}
  .ev-card{border:1px solid var(--line);background:#fff;padding:16px 18px;}
  .ev-card h4{font-size:16px;font-weight:800;color:var(--navy);margin:0 0 10px;word-break:keep-all;}
  .ev-card h4 span{font-size:13px;font-weight:500;color:var(--muted);margin-left:8px;}
  .ev-howto{font-size:13.5px;color:var(--muted);margin:-4px 0 10px;line-height:1.5;word-break:keep-all;}
  .ev-bar-row{display:grid;grid-template-columns:84px 1fr 66px;gap:10px;align-items:center;margin:6px 0;}
  .ev-bar-lbl{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .ev-bar{display:flex;height:20px;background:#EEF1F6;overflow:hidden;}
  .ev-bar span{display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;color:#fff;height:100%;}
  .ev-bar-v{font-size:13px;color:var(--muted);text-align:right;white-space:nowrap;}
  .ev-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--muted);margin-top:10px;}
  .ev-legend i{display:inline-block;width:11px;height:11px;margin-right:4px;vertical-align:-1px;}
  .ev-list{margin:0;padding-left:18px;font-size:15px;line-height:1.65;word-break:keep-all;}
  .ev-list li{margin-bottom:5px;}
  .ev-tips li::marker{color:var(--amber);}
  .ev-p{font-size:15px;line-height:1.65;margin:0;word-break:keep-all;}
  .ev-task{font-size:15.5px;font-weight:700;line-height:1.6;margin-bottom:8px;word-break:keep-all;}
  .ev-sub{font-size:13px;font-weight:700;color:var(--muted);margin-bottom:4px;}
  .ev-strip{margin:12px 0 4px;}
  .ev-strip-hd{display:flex;justify-content:space-between;gap:8px;font-size:14px;margin-bottom:8px;}
  .ev-strip-hd b{color:var(--navy);}
  .ev-strip-line{position:relative;height:22px;border-bottom:2px solid #DDE2EB;}
  .ev-dot{position:absolute;bottom:-6px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#AEB7C7;animation:evIn .5s ease both;}
  .ev-dot.me{width:18px;height:18px;margin-left:-9px;bottom:-10px;background:var(--amber);border:3px solid #fff;box-shadow:0 0 0 1px var(--amber);animation-delay:.45s;}
  .ev-avg{position:absolute;bottom:-8px;top:0;width:0;border-left:1.5px dashed var(--navy);}
  @keyframes evIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
  .ev-strip-ft{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:10px;}
  .ev-table{width:100%;border-collapse:collapse;font-size:14px;min-width:420px;}
  .ev-table th{background:#F2F4F8;color:var(--txt);font-weight:700;padding:7px 6px;border-bottom:1.5px solid var(--navy);}
  .ev-table td{padding:7px 6px;text-align:center;border-bottom:1px solid #EEF0F4;}
  .ev-table td:first-child{text-align:left;font-weight:700;}
  .ev-table .hl{background:#FFF6E2;font-weight:800;}
  .ev-table .up{color:#2E9E5B;font-weight:700;} .ev-table .down{color:#C0392B;font-weight:700;} .ev-table .flat{color:var(--muted);}
  .ev-src{font-size:12.5px;color:var(--muted);}
  @media(max-width:560px){.ev-bar-row{grid-template-columns:70px 1fr 54px;gap:6px;}}
  @media (prefers-reduced-motion:reduce){.ev-dot{animation:none;}}

  .ev-gtabs{margin:2px 0 8px;}
  .ev-gsum{font-size:13.5px;color:var(--txt);background:#F7F8FB;padding:6px 10px;margin-bottom:8px;}
  .ev-grp-hd{font-size:12.5px;font-weight:800;color:var(--muted);letter-spacing:.05em;margin:12px 0 2px;padding-bottom:3px;border-bottom:1px solid #EEF0F4;}
  .ev-grp summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--navy);margin:12px 0 4px;}
  .ev-bar-row .ev-bar-lbl{font-size:13.5px;}
  .ev-wrap .ev-bar-row{grid-template-columns:118px 1fr 66px;}
  @media(max-width:560px){.ev-wrap .ev-bar-row{grid-template-columns:92px 1fr 54px;}}

  .ev-bar-v{font-size:12px;}
  .ev-wrap .ev-bar-row{grid-template-columns:118px 1fr 104px;}
  @media(max-width:560px){.ev-wrap .ev-bar-row{grid-template-columns:86px 1fr 84px;}}

  /* 연도별 추이 해설 */
  .tr-explain{background:#F7F8FB;border-left:3px solid var(--navy);padding:14px 18px;margin:4px 0 16px;}
  .tr-lead{font-size:16px;line-height:1.7;margin:0 0 8px;word-break:keep-all;}
  .tr-list{margin:0;padding-left:18px;font-size:15px;line-height:1.65;word-break:keep-all;}
  .tr-list li{margin-bottom:4px;}
  .tr-list b{color:var(--navy);}
  .tr-foot{font-size:13px;color:var(--muted);margin:8px 0 0;line-height:1.55;}

  #full-cutline .heat th,#full-cutline .heat td{padding:5px 6px;}
  #full-cutline .tablewrap{max-width:760px;margin:0 auto;}

  /* 자가 점검 */
  #selfCheck{background:var(--section-alt);}
  .sc-wrap{max-width:820px;margin:0 auto;}
  .sc-form{display:grid;gap:10px;}
  .sc-q{border:1px solid var(--line);background:#fff;padding:12px 14px;margin:0;}
  .sc-q legend{display:flex;gap:8px;font-size:15.5px;font-weight:700;color:var(--txt);padding:0;float:left;width:100%;margin-bottom:8px;word-break:keep-all;}
  .sc-q legend b{color:var(--amber);min-width:18px;}
  .sc-scale,.sc-opts{clear:both;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
  .sc-scale>span{font-size:12px;color:var(--muted);}
  .sc-scale label,.sc-opts label{cursor:pointer;}
  .sc-scale input,.sc-opts input{position:absolute;opacity:0;pointer-events:none;}
  .sc-scale i,.sc-opts i{display:inline-block;font-style:normal;font-size:14px;border:1px solid var(--line);padding:6px 12px;background:#fff;color:var(--txt);transition:.15s;}
  .sc-scale i{min-width:38px;text-align:center;}
  .sc-scale input:checked+i,.sc-opts input:checked+i{background:var(--navy);color:#fff;border-color:var(--navy);}
  .sc-scale input:focus-visible+i,.sc-opts input:focus-visible+i{outline:2px solid var(--amber);}
  .sc-act{text-align:center;margin:16px 0 4px;}
  .sc-grades{clear:both;display:grid;gap:6px;}
  .sc-gr-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
  .sc-gr-row>span{width:44px;font-size:14.5px;font-weight:700;}
  .sc-gr-row label{cursor:pointer;}
  .sc-gr-row input{position:absolute;opacity:0;pointer-events:none;}
  .sc-gr-row i{display:inline-block;font-style:normal;font-size:14px;border:1px solid var(--line);width:38px;text-align:center;padding:5px 0;background:#fff;}
  .sc-gr-row input:checked+i{background:var(--navy);color:#fff;border-color:var(--navy);}
  .sc-gr-row input:focus-visible+i{outline:2px solid var(--amber);}
  .sc-q-note{font-size:12.5px;color:var(--muted);margin-top:8px;line-height:1.5;}
  .sc-result{background:#fff;border:1px solid var(--line);padding:18px 20px;margin-top:14px;}
  .sc-warn{color:#C0392B;font-weight:700;margin:0;}
  .sc-res-top{display:grid;grid-template-columns:1fr 290px;gap:16px;align-items:center;}
  @media(max-width:640px){.sc-res-top{grid-template-columns:1fr;}}
  .sc-res-k{font-size:13px;font-weight:800;color:var(--muted);letter-spacing:.05em;}
  .sc-res-v{font-size:26px;font-weight:800;color:var(--navy);margin:2px 0 6px;}
  .sc-res-type p{font-size:15.5px;line-height:1.7;margin:0;word-break:keep-all;}
  .sc-res-type ul{margin:4px 0 0;padding-left:18px;font-size:15px;line-height:1.65;word-break:keep-all;}
  .sc-radar{width:100%;max-width:290px;display:block;margin:0 auto;}
  .sc-poly{transform-origin:100px 100px;animation:scGrow .7s ease both;}
  @keyframes scGrow{from{transform:scale(0);}to{transform:scale(1);}}
  .sc-fit-row{display:grid;grid-template-columns:72px 1fr 34px;gap:4px 10px;align-items:center;padding:6px 0;border-bottom:1px solid #EEF0F4;}
  .sc-fit-s{font-size:14.5px;font-weight:800;}
  .sc-fit-bar{height:12px;background:#EEF1F6;}
  .sc-fit-bar span{display:block;height:100%;}
  .sc-fit-v{font-size:14px;font-weight:800;color:var(--navy);text-align:right;}
  .sc-fit-why{grid-column:2/4;font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 12px;}
  .sc-fit-why .neg{color:#B45309;}
  .sc-lock{border:1px dashed var(--line);padding:14px 16px;text-align:center;}
  .sc-lock p{font-size:15px;line-height:1.6;margin:0 0 10px;word-break:keep-all;}
  .sc-note{font-size:12.5px;color:var(--muted);line-height:1.55;margin:10px 0 0;word-break:keep-all;}
  @media (prefers-reduced-motion:reduce){.sc-poly{animation:none;}}

  /* 사전 진단 리포트 */
  .sc-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:820px;margin:0 auto 16px;padding:0;}
  @media(max-width:640px){.sc-steps{grid-template-columns:1fr 1fr;}}
  .sc-steps li{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);padding:9px 10px;font-size:14px;font-weight:700;color:var(--muted);}
  .sc-steps li b{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#E3E7EF;color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:13px;}
  .sc-steps li span{display:block;font-size:12px;font-weight:500;}
  .sc-steps li.on{color:var(--navy);border-color:var(--navy);}
  .sc-steps li.on b{background:var(--navy);color:#fff;}
  .sc-gr-row i.w{width:auto;padding:5px 9px;}
  .sc-text{clear:both;width:100%;box-sizing:border-box;font:inherit;font-size:15px;padding:8px 10px;border:1px solid var(--line);resize:vertical;}
  .rp{border:1px solid var(--line);background:#fff;padding:0 0 14px;}
  .rp-cover{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;background:var(--navy);color:#fff;padding:16px 20px;}
  .rp-k{font-size:12px;letter-spacing:.12em;opacity:.8;}
  .rp-title{font-size:24px;font-weight:800;font-family:'Noto Serif KR',serif;}
  .rp-date{font-size:12.5px;opacity:.85;}
  .rp-int{margin:14px 20px 0;padding:10px 14px;background:#FFF8E6;border-left:3px solid var(--amber);font-size:15px;line-height:1.6;word-break:keep-all;}
  .rp-int b{margin-right:10px;color:#9A6400;}
  .rp-int span{display:block;font-size:13px;color:var(--muted);}
  .rp .sc-res-top,.rp>.sc-res-k,.rp>.rp-tbl,.rp>.rp-pre,.rp>.sc-fit,.rp>.sc-lock,.rp>.rp-adm,.rp>.rp-p,.rp>.rp-ul,.rp>.sc-note{margin-left:20px;margin-right:20px;}
  .rp-h{display:flex;align-items:baseline;gap:10px;font-size:17px;font-weight:800;color:var(--navy);margin:20px 20px 10px;padding-bottom:6px;border-bottom:2px solid var(--navy);}
  .rp-h span{font-size:11.5px;letter-spacing:.12em;color:var(--amber);font-weight:700;}
  .rp-tbl{width:calc(100% - 40px);border-collapse:collapse;font-size:14px;margin-top:10px;}
  .rp-tbl th{background:#F2F4F8;padding:6px 8px;border-bottom:1.5px solid var(--navy);text-align:left;}
  .rp-tbl td{padding:6px 8px;border-bottom:1px solid #EEF0F4;line-height:1.5;word-break:keep-all;}
  .rp-tbl td:first-child{font-weight:700;white-space:nowrap;width:64px;} .rp-tbl td:nth-child(2){width:46px;}
  .rp-g{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;color:#fff;font-weight:800;font-size:13px;}
  .rp-g.gA{background:#1B3B86;} .rp-g.gB{background:#5B7FC4;} .rp-g.gC{background:#8FA3C7;} .rp-g.gD{background:#E8B04B;} .rp-g.gE{background:#D9634C;}
  .rp-pre,.rp-adm{display:grid;grid-template-columns:96px 1fr 70px;gap:4px 10px;align-items:center;padding:4px 0;font-size:14px;}
  .rp-pre span,.rp-adm span{font-weight:700;} .rp-adm span em{font-style:normal;font-size:11px;color:#9A6400;border:1px solid #E6D3A8;padding:0 4px;margin-left:4px;}
  .rp-pre-bar{height:10px;background:#EEF1F6;} .rp-pre-bar i{display:block;height:100%;background:var(--navy);}
  .rp-pre b,.rp-adm b{font-size:13px;color:var(--navy);text-align:right;}
  .rp-adm small{grid-column:2/4;font-size:12px;color:var(--muted);margin-top:-2px;}
  .rp-p{font-size:15px;line-height:1.65;word-break:keep-all;}
  .rp-ul{padding-left:38px!important;font-size:15px;line-height:1.65;word-break:keep-all;}
  .rp-next{margin-top:14px;border:1.5px solid var(--navy);background:#F7F8FB;padding:16px 20px;}
  .rp-next-h{font-size:17px;font-weight:800;color:var(--navy);margin-bottom:8px;}
  .rp-next-steps{margin:0 0 12px;padding-left:20px;font-size:15px;line-height:1.6;word-break:keep-all;}
  .rp-next-steps li{margin-bottom:6px;} .rp-next-steps b{display:block;color:var(--txt);}
  .rp-next-act{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}

  .rp-cn{display:flex;flex-direction:column;gap:6px;margin:8px 0;}
  .rp-cn a{display:block;border:1px solid var(--line);background:#fff;padding:8px 12px;font-size:14px;font-weight:700;color:var(--navy);text-decoration:none;}
  .rp-cn a::after{content:' ↗';color:var(--muted);font-weight:400;}
  .rp-cn a:hover{border-color:var(--navy);}
  .rp-hol{background:#fff;border:1px dashed var(--line);padding:10px 12px;margin-top:6px;}
  .rp-hol-q{font-size:14px;font-weight:700;margin-bottom:8px;word-break:keep-all;}
  .rp-hol-btns{display:flex;flex-wrap:wrap;gap:6px;}
  .rp-hol-btns button{font:inherit;font-size:14px;border:1px solid var(--line);background:#fff;padding:6px 10px;cursor:pointer;position:relative;}
  .rp-hol-btns button.on{background:var(--navy);color:#fff;border-color:var(--navy);}
  .rp-hol-btns button.on::after{content:attr(data-rank);position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;background:var(--amber);color:#fff;font-size:11px;line-height:18px;text-align:center;}
  .rp-hol-res{margin-top:10px;font-size:14.5px;line-height:1.6;word-break:keep-all;}
  .rp-hol-code{font-size:15px;margin-bottom:4px;} .rp-hol-code b{font-size:20px;color:var(--navy);letter-spacing:.08em;margin-left:6px;}
  .rp-hol-res ul{margin:0 0 6px;padding-left:18px;} .rp-hol-res p{margin:4px 0;}
  .rp-hol-re{font:inherit;font-size:13px;border:1px solid var(--amber);background:#FFF8E6;color:#9A6400;padding:3px 8px;cursor:pointer;margin-left:4px;}
  .rp-next-sub{margin:6px 0 0;padding-left:18px;font-size:14px;color:var(--txt);}

  .rp-deep{border:1px solid var(--line);background:#fff;padding:12px;margin:6px 0;display:grid;gap:8px;}
  .rp-deep-h{font-size:15px;font-weight:800;color:var(--navy);margin-top:6px;}
  .rp-deep-res{background:#fff;border:1px solid var(--line);padding:12px 14px;margin:6px 0;}

  .rp-par-intro{margin:0 20px;font-size:15px;line-height:1.6;word-break:keep-all;}
  .rp #scParent,.rp #scGuide{margin:0 20px;}

  /* 학교 특화 활동 카드 */
  .gb-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .gb-card{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--sc);padding:16px 20px 18px;}
  .gb-card.wide{grid-column:1/-1;}
  .gb-k{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--sc);}
  .gb-card h4{font-size:18px;font-weight:800;color:var(--navy);margin:2px 0 10px;}
  .gb-ul{margin:0;padding-left:18px;font-size:16px;line-height:1.7;word-break:keep-all;}
  .gb-ul li{margin-bottom:6px;} .gb-ul li::marker{color:var(--sc);}
  .gb-p{margin:0;font-size:16px;line-height:1.7;word-break:keep-all;}
  .gb-ul b,.gb-p b,.gb-sample-t b{color:var(--navy);}
  .gb-task{font-weight:700;color:var(--navy);background:#EEF2FA;padding:0 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
  .gb-chips{display:flex;flex-wrap:wrap;gap:6px;}
  .gb-chips span{font-size:15px;border:1px solid var(--line);background:#F7F8FB;padding:5px 11px;line-height:1.4;}
  .gb-sample-t{font-size:16.5px;font-weight:700;line-height:1.6;margin-bottom:6px;word-break:keep-all;}
  @media (max-width:760px){ .gb-grid{grid-template-columns:1fr;} .gb-ul,.gb-p{font-size:15px;} }
  /* 성취도 A~E 안내 */
  .gs-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin:10px 0 0;}
  .gs-legend span{padding:2px 9px;border:1px solid var(--line);} .gs-legend em{font-style:normal;}
  .ach-read{margin-top:16px;}
  .ach-read-h{font-size:16px;font-weight:800;color:var(--navy);margin-bottom:6px;}
  .ach-read ul{margin:0;padding-left:18px;font-size:15.5px;line-height:1.75;word-break:keep-all;}
  .ach-read li{margin-bottom:4px;}
  .ach-guide{margin-top:18px;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--navy);padding:18px 22px;}
  .ach-h{font-size:18px;font-weight:800;color:var(--navy);margin-bottom:12px;}
  .ach-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:22px;align-items:start;}
  .ach-tbl{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14.5px;}
  .ach-tbl th{background:#F2F4F8;color:var(--navy);padding:4px 6px;border-bottom:1.5px solid var(--navy);font-size:13.5px;}
  .ach-tbl td{padding:4px 6px;border-bottom:1px solid #EEF0F4;line-height:1.4;word-break:keep-all;overflow-wrap:break-word;}
  .ach-tbl td:first-child,.ach-tbl td:nth-child(2){text-align:center;}
  .ach-tbl b{display:inline-grid;place-items:center;width:26px;height:26px;color:#fff;font-size:14px;}
  .ach-a{background:#1B3B86;} .ach-b{background:#3C5DA8;} .ach-c{background:#7389BF;} .ach-d{background:#A9B6D3;} .ach-e{background:#C9CFDA;}
  .ach-cap{font-size:13px;color:var(--muted);line-height:1.6;margin:8px 0 0;word-break:keep-all;}
  .ach-why p{margin:0 0 10px;font-size:15px;line-height:1.7;word-break:keep-all;}
  .ach-why b{display:block;color:var(--navy);font-size:15.5px;}
  @media (max-width:760px){ .ach-grid{grid-template-columns:1fr;} }

  .hdr-logout{margin-left:auto;flex-shrink:0;font:inherit;font-size:13.5px;font-weight:700;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.55);padding:6px 12px;cursor:pointer;line-height:1.2;}
  .hdr-logout:hover{background:rgba(255,255,255,.12);border-color:#fff;}
  .hdr-logout[hidden]{display:none;} .hdr-logout:not([hidden])+.hamburger{margin-left:0;}
/* 입시일정 등 독립 페이지의 제목(h1)은 개요 페이지의 h2 제목과 같은 모양 */
#schools .sechead h1{color:#fff;text-align:left;display:block;font-family:'Noto Serif KR',serif;font-size:clamp(24px,3.8vw,34px);font-weight:700;margin:0;line-height:1.3}
#schools .sechead h1::after{display:none}
