/* ExamScope · campus community layout (inspired by familiar university bulletin boards) */
:root{color-scheme:light!important;background:#f7f7f7!important;color:#292929!important;font-family:"Pretendard","Apple SD Gothic Neo","Malgun Gothic",-apple-system,BlinkMacSystemFont,system-ui,sans-serif!important}
*{box-sizing:border-box}
body{background:#f7f7f7!important;color:#292929!important;font-size:14px;line-height:1.5}
.wrap{max-width:1080px!important;padding:0 24px}
a{color:inherit}
button,input,select{font-family:inherit}
a,button,.course,.rankitem{transition:background-color .13s,border-color .13s,color .13s!important}
button:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid #c62917!important;outline-offset:2px}
.top{height:74px!important;background:#fff;border:1px solid #ededed!important;border-top:0!important;padding:0 20px;margin:0!important;box-shadow:none;gap:15px}
.brand{font-size:22px!important;letter-spacing:-1.3px!important;gap:8px!important;color:#c62917!important}
.brand .logo{background:#c62917!important;color:white!important;border-radius:6px!important;box-shadow:none!important;height:30px!important;width:30px!important;font-size:18px!important;line-height:1}
.brand .sub{color:#999!important;font-size:10px!important;letter-spacing:.1px!important;font-weight:500!important;margin-top:0!important}
.nav{gap:0!important;align-self:stretch;align-items:stretch!important}
.nav button{color:#666!important;background:transparent!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;font-size:13px!important;padding:2px 16px 0!important;font-weight:600!important}
.nav button.active{color:#c62917!important;border-bottom-color:#c62917!important}
.nav button:hover{color:#c62917!important;background:#fafafa!important}
.topright{gap:10px}.status{font-size:11px!important;color:#999!important}.userpill{max-width:160px}
.hero{margin-top:20px!important;border:1px solid #e2e2e2!important;border-radius:0!important;min-height:0!important;background:#fff!important;padding:30px 34px!important;overflow:visible!important}
.hero::after,.rings,.orb,.ring{display:none!important}
.hero-content{max-width:none!important}
.eyebrow{color:#c62917!important;font-size:11px!important;letter-spacing:0!important;font-weight:700!important}
.eyebrow:before{display:none!important}.eyebrow span{color:#999!important;margin-left:9px!important}
.hero h1{font-size:clamp(25px,3vw,33px)!important;letter-spacing:-1.1px!important;margin:7px 0 8px!important;line-height:1.35!important;color:#292929!important;font-weight:800!important}
.hero h1 em{color:#c62917!important;background:none!important;-webkit-text-fill-color:#c62917!important}
.hero p{font-size:13px!important;color:#666!important;line-height:1.8!important}
.hero-btns{margin-top:19px!important;gap:7px!important}
.primary,.ghost,.outline{border-radius:3px!important;box-shadow:none!important;background-image:none!important;font-size:13px!important;font-weight:650!important;padding:10px 15px!important;min-height:39px}
.primary{background:#c62917!important;border:1px solid #c62917!important;color:#fff!important}
.primary:hover{background:#aa2113!important;border-color:#aa2113!important;filter:none!important}
.ghost{color:#555!important;background:#fff!important;border:1px solid #dadada!important}
.ghost:hover,.outline:hover{background:#f7f7f7!important}
.outline{color:#555!important;background:#fff!important;border:1px solid #d9d9d9!important}
.small{font-size:12px!important;padding:7px 10px!important;min-height:32px!important}
.kpis{gap:0!important;margin-top:12px!important;background:#fff!important;border:1px solid #e2e2e2!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.kpi{padding:17px 19px!important;background:#fff!important;border:0!important;border-right:1px solid #ececec!important;border-radius:0!important;min-width:0}
.kpi:last-child{border-right:0!important}
.kpi .cap{color:#888!important;font-size:12px!important;font-weight:500!important}
.kpi .val{font-size:23px!important;font-weight:800!important;letter-spacing:-.5px!important;margin-top:7px!important;color:#333!important}
.kpi .hint{font-size:11px!important;color:#aaa!important;margin-top:0!important}
.section-top{margin:35px 0 14px!important;align-items:center!important}
.section-top h2{font-size:19px!important;letter-spacing:-.7px!important;margin:0 0 2px!important;font-weight:800!important;color:#292929!important}
.section-top p{color:#888!important;font-size:12px!important}
.section-btns{gap:5px}
.filters{gap:7px!important;margin:0 0 10px!important;align-items:stretch!important}
.search{min-width:200px!important;flex:2 1 240px!important}
.search:before{top:9px!important;left:12px!important;color:#999!important;font-size:22px!important}
.search input,.filters select,.field{color:#333!important;background:#fff!important;border:1px solid #dcdcdc!important;border-radius:3px!important;box-shadow:none!important}
.search input{min-height:41px!important;padding:9px 10px 9px 35px!important;font-size:13px!important}
.search input::placeholder,.field::placeholder{color:#aaa!important}
.filters select{min-width:0!important;height:41px!important;padding:0 7px!important;font-size:12px!important;flex:0 1 auto}
.switch{background:#fff!important;border:1px solid #ddd!important;border-radius:3px!important;padding:2px!important;min-height:41px!important}
.switch button{background:#fff!important;color:#777!important;border-radius:2px!important;padding:8px 11px!important;white-space:nowrap!important;font-size:12px!important;box-shadow:none!important}
.switch button.selected{background:#c62917!important;color:#fff!important}
.section-panel{margin-bottom:35px!important}
.cards{display:block!important;background:#fff!important;border:1px solid #ddd!important;min-height:0!important}
.course{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto auto!important;gap:4px 18px!important;background:#fff!important;border:0!important;border-bottom:1px solid #eee!important;border-radius:0!important;padding:17px 20px 15px!important;min-width:0!important;align-items:center}
.course:last-child{border-bottom:0!important}
.course:hover{transform:none!important;border-color:#eee!important;background:#fffaf9!important}
.course-head{grid-column:2!important;grid-row:1!important;justify-content:flex-end!important;align-self:center!important;gap:0!important}
.course-ico{display:none!important}
.tag{padding:3px 7px!important;background:#fafafa!important;border:1px solid #e4e4e4!important;color:#888!important;font-weight:600!important;font-size:11px!important;border-radius:3px!important}
.course h3{grid-column:1!important;grid-row:1!important;color:#292929!important;font-size:16px!important;line-height:1.4!important;letter-spacing:-.4px!important;margin:0!important;font-weight:800!important}
.course .meta{grid-column:1!important;grid-row:2!important;color:#777!important;font-size:12px!important;letter-spacing:0!important}
.course-mid{grid-column:2!important;grid-row:2!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;margin:0!important;gap:8px!important}
.course-mid .rating{color:#c62917!important;font-size:19px!important;font-weight:800!important;letter-spacing:0!important;white-space:nowrap!important}
.course-mid .rating small{color:#aaa!important;font-size:10px!important;margin-left:2px!important}
.mini-note{display:none!important}
.meter{display:none!important}
.course-bottom{grid-column:1/-1!important;grid-row:3!important;display:flex!important;justify-content:space-between!important;border:0!important;padding:6px 0 0!important;margin:0!important;color:#aaa!important;font-size:11px!important}
.arrow{color:#c62917!important;font-weight:600!important}
.course:hover h3{color:#c62917!important}
.empty{background:#fff!important;border:0!important;border-radius:0!important;padding:50px 24px!important;color:#999!important}
.empty strong{font-size:14px!important;color:#555!important}
.note{background:#fafafa!important;border:1px solid #e6e6e6!important;color:#777!important;border-radius:3px!important;padding:12px 14px!important;font-size:12px!important}
.insights{gap:10px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.info-card{background:#fff!important;border:1px solid #ddd!important;border-radius:0!important;padding:23px!important}
.info-card h3{font-size:15px!important;color:#333!important;margin:0 0 13px!important}
.info-card p,.info-card li{color:#666!important;font-size:12px!important;line-height:1.85!important}
.ranklist{background:#fff!important;border:1px solid #ddd!important;gap:0!important}
.rankitem{background:#fff!important;border:0!important;border-radius:0!important;border-bottom:1px solid #eee!important;padding:15px 18px!important}
.rankitem:last-child{border-bottom:0!important}
.rankitem:hover{background:#fff9f9!important}
.ranknum{color:#c62917!important;font-size:17px!important}
.rankbody{color:#333!important}
.rankbody small{color:#999!important}
.rankscore{color:#c62917!important;font-size:16px!important}
footer{margin-top:35px!important;border-top:1px solid #ddd!important;padding:18px 0 33px!important;color:#888!important;font-size:11px!important}
footer b{color:#777!important}
.overlay{background:rgba(0,0,0,.5)!important;backdrop-filter:none!important}
.modal{background:#fff!important;border:1px solid #ddd!important;border-radius:5px!important;box-shadow:0 10px 45px #0002!important;padding:25px 27px!important}
.modal-head h2{color:#292929!important;font-size:22px!important}
.modal-head p{color:#888!important}
.close{border:1px solid #e2e2e2!important;background:#fff!important;color:#555!important;border-radius:3px!important}
.form-label{color:#555!important;font-size:12px!important;margin:15px 0 8px!important}
.field{min-height:42px!important;padding:10px!important;font-size:13px!important}
.dialog-stat{background:#fafafa!important;border:1px solid #e8e8e8!important;border-radius:3px!important;padding:13px!important}
.dialog-stat label{color:#888!important}
.dialog-stat b{color:#292929!important;font-size:21px!important}
.modal h4{color:#292929!important;font-size:15px!important;margin:20px 0 11px!important}
.barrow{gap:10px!important;margin:10px 0!important}
.barname{color:#666!important}
.bartrack{background:#f1f1f1!important;height:7px!important}
.bartrack b{background:#c62917!important}
.barval{color:#888!important}
.votechoice{background:#fff!important;border:1px solid #dedede!important;color:#777!important;border-radius:3px!important;padding:10px 5px!important;min-height:70px!important}
.votechoice b{color:#444!important;font-size:21px!important}
.votechoice.picked{background:#fff5f4!important;border-color:#c62917!important;color:#c62917!important;box-shadow:none!important}
.votechoice.picked b{color:#c62917!important}
.quartile{background:#fafafa!important;border:1px solid #e6e6e6!important;border-radius:3px!important}
.quartile span{color:#888!important}
.quartile b{color:#292929!important}
.warn{background:#fffaf6!important;border:1px solid #eadfce!important;color:#856342!important;border-radius:3px!important}
.refbox{background:#fff!important;border:1px solid #ddd!important;border-radius:3px!important}
.refbox small{color:#888!important}
.hr{background:#eee!important}
.legal{color:#999!important}
.toast{background:#333!important;color:#fff!important;border:0!important;border-radius:4px!important}
@media(max-width:930px){
 .wrap{padding:0 16px!important}
 .top{gap:8px!important;padding:0 14px!important}
 .nav button{padding:2px 10px 0!important}
 .filters select{flex:1 1 110px}
 .search{flex-basis:100%!important}
}
@media(max-width:680px){
 .wrap{padding:0 0!important}
 .top{height:auto!important;min-height:68px!important;display:flex!important;flex-wrap:wrap!important;padding:9px 15px 0!important;row-gap:5px!important}
 .brand{font-size:19px!important}
 .brand .logo{width:28px!important;height:28px!important}
 .topright .status{display:none!important}
 .topright{margin-left:auto!important}
 .nav{order:3!important;display:flex!important;width:100%!important;justify-content:space-around!important;align-self:stretch!important;background:#fff!important;border:0!important;border-radius:0!important}
 .nav button{flex:1!important;font-size:12px!important;padding:10px 4px!important;border-bottom-width:2px!important}
 .hero{border-left:0!important;border-right:0!important;margin-top:8px!important;padding:23px 19px!important}
 .hero h1{font-size:25px!important}
 .hero p{font-size:12px!important;max-width:none!important}
 .hero-btns{margin-top:16px!important}
 .kpis{margin-top:8px!important;border-left:0!important;border-right:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .kpi{padding:12px 17px!important;border-bottom:1px solid #ececec!important}
 .kpi:nth-child(2){border-right:0!important}
 .kpi:nth-child(n+3){border-bottom:0!important}
 .kpi .val{font-size:21px!important}
 .section-top{margin:26px 0 12px!important;padding:0 15px!important}
 .section-top h2{font-size:18px!important}
 .filters{padding:0 13px!important;gap:7px!important}
 .search{flex-basis:100%!important;min-width:0!important}
 .filters select{flex:1 1 105px!important;min-width:0!important}
 .switch{flex:1 1 100%!important;width:100%!important}
 .cards{border-left:0!important;border-right:0!important}
 .course{padding:16px 15px!important;gap:4px 6px!important}
 .course h3{font-size:15px!important}
 .course .meta{font-size:11px!important}
 .course-mid .rating{font-size:17px!important}
 .course .tag{font-size:10px!important;white-space:nowrap!important}
 .course-bottom{font-size:10px!important}
 #browse>.note{margin:12px 13px!important}
 .ranklist{border-left:0!important;border-right:0!important}
 .info-card{border-left:0!important;border-right:0!important;padding:19px!important}
 .insights{display:block!important}
 .insights>.info-card{margin-bottom:10px!important}
 footer{padding:17px 15px 30px!important}
 .overlay{padding:9px!important}
 .modal{padding:20px 16px!important;max-height:calc(100dvh - 18px)!important}
 .dialog-stat{padding:9px!important}
 .dialog-stat b{font-size:18px!important}
 .quartiles{grid-template-columns:repeat(2,1fr)!important}
}
