:root{--ink:#153836;--muted:#536b66;--purple:#c14e35;--line:#c8d3c9;--paper:#f7f2e8;--dark:#153836;--kf-orange:#ff6746;--kf-cream:#f7f2e8;--kf-paper:#fffcf5}
body{background:var(--kf-cream)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:var(--kf-orange)}
.masthead{position:relative;overflow:hidden;background:var(--dark);color:var(--kf-paper);border-bottom:5px solid var(--kf-orange)}
.masthead:before{content:'';position:absolute;left:-120px;top:-190px;width:540px;height:540px;border:1px solid #ffffff32;border-radius:50%;box-shadow:0 0 0 60px #ffffff0a,0 0 0 120px #ffffff08;pointer-events:none}
.topbar{position:relative;border-color:#8db0a34d;gap:45px}
.brand{font-size:23px;letter-spacing:-.04em}
.brand-mark{width:48px;height:48px;background:transparent;border-radius:0}
.brand small{color:#a9c9bb}
.topbar nav{color:#c5d9cf;font-weight:700}
.current:after{background:var(--kf-orange)}
.header-compare{border:1px solid #b6d1c4;background:#ffffff12;border-radius:0;color:#fff;box-shadow:4px 4px 0 var(--kf-orange)}
.header-compare span{background:var(--kf-orange);color:var(--dark)}
.heading{position:relative;padding-block:48px 42px}
.kicker{color:var(--kf-orange);font-weight:800}
.heading h1{font-size:clamp(37px,4.5vw,62px);line-height:1.35;letter-spacing:-.05em}
.heading h1>span{color:var(--kf-orange)}
.heading-copy{color:#c9ddd2}
.heading-aside{border-color:#81a496}
.versus{color:var(--kf-orange);font-style:normal;font-size:70px}
.heading-aside p{color:#c8ded0}
.course-tabs{position:relative;gap:0;padding-bottom:0;border:1px solid #97b6a8;border-bottom:0}
.course-tabs button{border:0;border-left:1px solid #97b6a8;border-radius:0;min-width:0;flex:1;background:transparent;color:#e8eee7;padding:14px 8px;font-size:13px}
.course-tabs button:last-child{border-left:0}
.course-tabs button span{color:#bed1c5}
.course-tabs button.active{background:var(--kf-orange);color:var(--dark);border-color:#97b6a8}
.course-tabs button.active span{color:var(--dark)}
.subject-bar{position:relative;background:#e5ece1;color:var(--dark);padding:10px 14px;gap:7px}
.subject-bar button{border-radius:0;border:1px solid #839f91;color:var(--dark);background:transparent;font-weight:700}
.subject-bar button.active{background:var(--dark);color:#fff;border-color:var(--dark)}
.workspace{padding-top:46px}
.filter-box{background:var(--kf-paper);border:1px solid var(--ink);padding:22px}
.filter-box h2{font-size:19px}
.search-box input,select{background:#fffdf6;border:1px solid #9cb2a4;border-radius:0}
.search-box input:focus,select:focus{border-color:var(--kf-orange)}
.reset{color:#b94b31;font-weight:700}
.compare-tip{background:#d9e9db;border:1px solid var(--ink);border-radius:0;box-shadow:5px 5px 0 var(--ink)}
.compare-tip p,.side-note{color:#47645b}
.tip-numbers span{border-color:#6c9181;border-radius:0;color:var(--ink)}
.compare-tip button{color:var(--ink);border-color:#a6c4b1;font-weight:800}
.mini-label{color:#ad422b;font-weight:800}
.list-heading{border-bottom:2px solid var(--ink);padding-bottom:15px}
.demo-notice{background:#ffeadf;border-color:#dfb8a7;border-radius:0}
.demo-notice p,.demo-tag{color:#8e513e}
.teacher-list{gap:16px}
.teacher-row{border:1.5px solid var(--ink);border-radius:0;background:var(--kf-paper);box-shadow:5px 5px 0 #c9d9cd;padding:24px}
.teacher-row:nth-child(4n+2){box-shadow:5px 5px 0 #f2c8b7}
.teacher-row.is-selected{border-color:#c14e35;box-shadow:5px 5px 0 var(--kf-orange)}
.teacher-index{border-color:#8fac9e;background:#dfece0}
.teacher-row:nth-child(3n+2) .teacher-index{background:#e9e8d8;border-color:#aeb9a2;color:var(--ink)}
.teacher-row:nth-child(3n) .teacher-index{background:#f9ddcd;border-color:#e2b69f;color:#914326}
.photo-pending{background:radial-gradient(circle at 50% 37%,#c6e2d2 0 20%,transparent 21%),linear-gradient(145deg,#eef4e9,#d2e0d0);border-color:#7d9e8d;color:var(--ink)}
.teacher-meta{color:#648075}
.teacher-meta>span:first-child{color:#aa472e}
.teacher-summary,.row-specs{color:#537066}
.row-specs b{color:var(--ink)}
.teacher-actions{border-color:var(--line)}
.profile-button{color:var(--ink);font-weight:800}
.select-button,.vote-button{border:1px solid var(--ink);background:#e4eee3;color:var(--ink);border-radius:0;font-weight:800}
.select-button[aria-pressed=true]{background:var(--kf-orange);color:var(--ink);border-color:var(--ink)}
.vote-button{background:var(--kf-orange)}
.teacher-vote-result{color:#5f786d}
.method{border-color:var(--ink)}
.method h2 em{color:#c14e35}
.method-grid article>span{color:#bb4c32}
footer{background:var(--dark);color:var(--kf-paper);border-top:4px solid var(--kf-orange)}
.footer-brand span{color:#acc9bc}
.footer-inner p,.footer-inner .footer-note{color:#b4cec2}
.selection-tray{background:var(--dark);border:1px solid #9bc1ae;border-radius:0;box-shadow:7px 7px 0 var(--kf-orange)}
.selected-chip{background:#29514b;border-radius:0}
.selection-tray .primary,.primary{background:var(--kf-orange);color:var(--ink);border:1px solid var(--ink);border-radius:0;font-weight:800}
.secondary{background:#e3efe4;border:1px solid var(--ink);border-radius:0;color:var(--ink)}
dialog,#teacher-vote-dialog{background:var(--kf-paper);border:2px solid var(--ink);border-radius:0;box-shadow:10px 10px 0 var(--kf-orange);color:var(--ink)}
dialog::backdrop,#teacher-vote-dialog::backdrop{background:#102b29bd}
.profile-specs>div{background:#e3eee3;border-radius:0}
.comparison-table th:first-child{background:#e2eae0}
.comparison-table thead th{background:#d4e7d8;color:var(--ink)}
.table-scroll{border-radius:0}
.teacher-rating span,#teacher-vote-submit,.teacher-vote-head button{border-radius:0}
.teacher-rating input:checked+span,#teacher-vote-submit{background:var(--ink);color:white}
@media(max-width:1100px){.course-tabs{overflow-x:auto;display:flex;flex-wrap:nowrap}.course-tabs button{min-width:130px;flex:0 0 auto}.teacher-row{padding:20px}}
@media(max-width:760px){.topbar{gap:14px}.topbar nav{border-top:1px solid #6c8b7c;padding-top:12px}.heading{padding-block:30px}.heading h1{font-size:36px}.course-tabs button{min-width:142px}.subject-bar{padding:9px}.workspace{padding-top:25px}.filter-box{padding:13px}.teacher-row{padding:15px;box-shadow:4px 4px 0 #c9d9cd}.teacher-actions{border-color:var(--line)}.method{padding-block:36px}}
.teacher-index.has-photo,.profile-portrait{background:linear-gradient(145deg,#dce9da,#f2e0d2);border-color:#8fac9e}
