/* Python course homepage, aligned with the C++ comic learning experience. */
body.teacher{background-color:var(--bg);background-image:radial-gradient(#15110a0b 1px,transparent 1px);background-size:13px 13px}
body.teacher>.idx{max-width:1160px;padding:34px 28px 72px;display:flex;flex-direction:column}
body.teacher .idx>.hero{order:0;position:relative;min-height:270px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;overflow:hidden;padding:38px 44px;margin:0 0 34px;border-radius:24px;background:var(--p2);background-image:radial-gradient(#15110a0e 1px,transparent 1px);background-size:16px 16px}
body.teacher .idx>.hero::after{content:'🐢';position:absolute;right:48px;top:50%;transform:translateY(-50%) rotate(-11deg);width:134px;height:134px;display:grid;place-items:center;border:3px solid var(--line);border-radius:36px;background:var(--mint);font-size:64px;box-shadow:8px 8px 0 var(--blue)}
body.teacher .idx>.hero .gl{position:relative;z-index:1;color:#514100;font-size:12px;letter-spacing:.11em}
body.teacher .idx>.hero .gt{position:relative;z-index:1;max-width:calc(100% - 180px);margin:12px 0 10px;color:var(--ink);font-size:clamp(30px,3.6vw,44px);line-height:1.14;letter-spacing:-.025em}
body.teacher .idx>.hero .gs{position:relative;z-index:1;max-width:620px;padding-right:40px;font-size:16px;line-height:1.75;color:#39311f}
body.teacher .idx>.hero .gs b{color:#a40043}

body.teacher .idx>h2{font-size:23px;line-height:1.3;letter-spacing:-.02em;margin:0 0 17px;padding:0 0 10px;border-bottom:2px solid rgba(21,17,10,.17)}
body.teacher .idx>h2:nth-of-type(1){order:3;margin-top:38px}
body.teacher .idx>.tools{order:4;margin:0 0 22px}
body.teacher .idx>h2:nth-of-type(2){order:1}
body.teacher .idx>.courses{order:2;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:16px;margin:0}
body.teacher .idx>h2:nth-of-type(3){order:5;margin-top:38px}
body.teacher .idx>h2:nth-of-type(4){order:7;margin-top:38px}
body.teacher .idx>table:nth-of-type(1){order:6}
body.teacher .idx>table:nth-of-type(2){order:8}

body.teacher .idx .cl{min-width:0;min-height:202px;display:flex;flex-direction:column;padding:19px;border-radius:18px;background:#fff;box-shadow:4px 4px 0 var(--line);transition:transform .16s ease,box-shadow .16s ease}
body.teacher .idx .cl.done:hover{transform:translateY(-3px);box-shadow:5px 7px 0 var(--line)}
body.teacher .idx .cl:focus-visible,body.teacher .idx .tool:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
body.teacher .idx .cl .cno{display:inline-flex;align-self:flex-start;padding:4px 9px;border:2px solid var(--line);border-radius:999px;background:var(--p2);font-size:11px;letter-spacing:0;color:var(--ink)}
body.teacher .idx .cl .cti{margin:13px 0 8px;color:var(--ink);font-size:19px;line-height:1.25;letter-spacing:-.02em}
body.teacher .idx .cl .csub{font-size:13px;line-height:1.55;color:#514b41}
body.teacher .idx .cl .ccard{margin-top:11px;border-width:1.5px;font-size:11px}
body.teacher .idx .cl .cpt{margin-top:8px;font-size:11px;line-height:1.5}
body.teacher .idx .cl .cgo{margin-top:auto;padding-top:15px;font-size:13px;color:var(--p)}
body.teacher .idx .tool{padding:21px 23px;border-radius:18px;box-shadow:3px 3px 0 var(--line)}
body.teacher .idx .tool .tn{font-size:18px}
body.teacher .idx .tool .td{font-size:13px;line-height:1.65}
body.teacher .idx .tool .tgo{font-size:13px}
body.teacher .idx>table{margin:0;border:2px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:3px 3px 0 rgba(21,17,10,.75)}
body.teacher .idx>table th,body.teacher .idx>table td{padding:12px 15px;font-size:13px;line-height:1.65}

@media(max-width:760px){
  body.teacher>.idx{padding:22px 18px 56px}
  body.teacher .idx>.hero{min-height:0;padding:28px 24px 30px;margin-bottom:28px}
  body.teacher .idx>.hero::after{right:-20px;top:18px;transform:scale(.55) rotate(-11deg);transform-origin:top right;opacity:.85}
  body.teacher .idx>.hero .gt{max-width:calc(100% - 55px);font-size:30px}
  body.teacher .idx>.hero .gs{padding-right:0;font-size:14px}
  body.teacher .idx>.courses{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  body.teacher .idx .cl{padding:15px;min-height:205px}
  body.teacher .idx .cl .cti{font-size:17px}
  body.teacher .idx>h2{font-size:20px}
}
@media(max-width:500px){
  body.teacher .idx>.courses{grid-template-columns:1fr}
  body.teacher .idx .cl{min-height:0}
  body.teacher .idx>.hero .gt{font-size:27px}
  body.teacher .idx>table{display:block;overflow-x:auto}
}
@media(prefers-reduced-motion:reduce){body.teacher .idx .cl{transition:none}}
