html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{color:#17211b;background:#f3f6f4;font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{background:linear-gradient(#dfede6e6,#f3f6f480 340px),#f3f6f4;min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #dce5df;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:14px 28px;display:grid;position:sticky;top:0}.brand{color:#1e5f43;white-space:nowrap;background:0 0;border:0;align-items:center;gap:9px;font-weight:800;display:inline-flex}.topbar nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.topbar nav button,.topbar>button,.login-box button,.back-button,.segmented button,.table-list button{color:#26362d;background:#fff;border:1px solid #d4ddd8;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:7px 11px;display:inline-flex}.topbar nav button:hover,.login-box button:hover,.table-list button:hover{color:#1e5f43;border-color:#9ebcae}.login-box{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:460px;display:flex}.login-box label,.search-panel label{background:#fff;border:1px solid #d5ded8;border-radius:7px;align-items:center;gap:8px;min-height:38px;padding:0 10px;display:inline-flex}.login-box input,.search-panel input,.search-panel select{color:#17211b;background:0 0;border:0;outline:0;width:160px}.login-box .code-input{border:1px solid #d5ded8;border-radius:7px;width:84px;min-height:38px;padding:0 10px}.login-box small{color:#9b4d12;text-align:right;width:100%}.login-box.authed span{text-overflow:ellipsis;white-space:nowrap;max-width:210px;overflow:hidden}.student-layout{width:min(1240px,100vw - 32px);margin:0 auto;padding:28px 0 54px}.search-band{grid-template-columns:1fr auto;align-items:end;gap:22px;padding:26px 0 20px;display:grid}.eyebrow{color:#2d845c;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:800}.search-band h1,.detail-main h1,.policy-page h1,.admin-login h1{letter-spacing:0;margin:0;font-size:34px;line-height:1.15}.search-band p{color:#5b6b61;margin:10px 0 0}.search-panel{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.metric-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0 18px;display:grid}.metric-row div{background:#fff;border:1px solid #dce5df;border-radius:8px;padding:16px}.metric-row strong{color:#1e5f43;font-size:30px;line-height:1;display:block}.metric-row span{color:#637269;margin-top:8px;display:block}.teacher-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;display:grid}.teacher-card{text-align:left;background:#fff;border:1px solid #dce5df;border-radius:8px;min-height:328px;padding:15px;box-shadow:0 10px 24px #23382d0f}.teacher-card:hover{border-color:#a8c8b7;transform:translateY(-2px)}.teacher-card-head,.teacher-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.teacher-card h2,.review-panel h2,.reviews-list h2,.ranking h2,.admin-layout h2{margin:0;font-size:18px}.teacher-card p,.teacher-title p{color:#68776e;margin:5px 0 0}.teacher-card-head>span,.teacher-title>strong{color:#1e5f43;background:#e8f3ed;border-radius:7px;place-items:center;min-width:52px;height:40px;font-weight:900;display:grid}.card-foot{color:#68776e;justify-content:space-between;font-size:13px;display:flex}.ranking{margin-top:16px;padding:16px 0}.ranking button{text-align:left;background:0 0;border:0;border-bottom:1px solid #dce5df;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;width:100%;max-width:520px;padding:12px 0;display:grid}.ranking span{color:#fff;background:#1e5f43;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.ranking em,.reviews-list em{color:#68776e;font-style:normal}.detail-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.75fr);gap:16px;width:min(1180px,100vw - 32px);margin:0 auto;padding:28px 0 60px;display:grid}.back-button{grid-column:1/-1;width:fit-content}.detail-main,.review-panel,.reviews-list,.policy-page,.admin-login section,.admin-layout section{background:#fff;border:1px solid #dce5df;border-radius:8px;padding:20px}.dimension-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.dimension-list span{color:#637269;border:1px solid #e0e8e3;border-radius:7px;flex-direction:column;gap:6px;min-height:64px;padding:10px;display:flex}.dimension-list strong{color:#1e5f43;font-size:22px}.review-panel{flex-direction:column;gap:13px;display:flex}.slider-row{grid-template-columns:126px 1fr 34px;align-items:center;gap:10px;display:grid}.slider-row input{width:100%}.review-panel textarea,.policy-editor textarea{resize:vertical;border:1px solid #d5ded8;border-radius:7px;outline:0;width:100%;min-height:118px;padding:10px}.primary{color:#fff;background:#1e5f43;border:0;border-radius:7px;justify-content:center;align-items:center;min-height:40px;padding:9px 14px;font-weight:800;display:inline-flex}.notice{color:#7b4709;background:#fff9ed;border:1px solid #f0d7ae;border-radius:7px;padding:10px 12px}.reviews-list{grid-column:1/-1}.reviews-list article{border-top:1px solid #e2e9e5;padding:14px 0}.reviews-list article>div{color:#2d845c;align-items:center;gap:8px;display:flex}.reviews-list p{color:#2d3831;margin:9px 0 0;line-height:1.7}.policy-page{width:min(880px,100vw - 32px);margin:28px auto 60px}.policy-page p{color:#33433a;line-height:1.8}.admin-login{place-items:center;min-height:100vh;padding:20px;display:grid}.admin-login section{flex-direction:column;gap:13px;width:min(420px,100%);display:flex}.admin-login label,.policy-editor{flex-direction:column;gap:8px;display:flex}.admin-login input,.policy-editor input{border:1px solid #d5ded8;border-radius:7px;min-height:40px;padding:0 10px}.admin-layout{width:min(1240px,100vw - 32px);margin:0 auto;padding:24px 0 60px}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.table-list{flex-direction:column;gap:8px;margin-top:14px;display:flex}.table-list>div{border:1px solid #e0e8e3;border-radius:7px;grid-template-columns:minmax(220px,1fr) auto auto auto;align-items:center;gap:10px;min-height:48px;padding:10px;display:grid}.table-list strong{margin-right:10px}.table-list .danger{color:#a82828;border-color:#efb5b5}.review-admin-list>div{grid-template-columns:minmax(360px,1fr) 90px 80px auto}.review-admin-list span:first-child{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.segmented{gap:6px;display:flex}.segmented .active{color:#1e5f43;background:#e8f3ed;border-color:#1e5f43}.policy-editor textarea{min-height:340px}@media (width<=860px){.topbar,.search-band,.detail-layout{grid-template-columns:1fr}.topbar nav,.login-box,.search-panel{justify-content:flex-start}.dimension-list,.metric-row,.admin-metrics,.table-list>div,.review-admin-list>div{grid-template-columns:1fr}.search-band h1,.detail-main h1,.policy-page h1,.admin-login h1{font-size:28px}}
