:root{
  font-family:Inter,"Microsoft YaHei",sans-serif;
  color:#172033;
  background:#eef2f8;
  line-height:1.5;
}
*{box-sizing:border-box}
body{margin:0}
button,input,select,textarea{font:inherit}
button{cursor:pointer}

.empty-page{
  min-height:100vh;
  display:grid;
  grid-template-rows:1fr auto;
  place-items:center;
  padding:24px;
  background:
    radial-gradient(circle at 15% 15%,#dbeafe 0,transparent 28%),
    radial-gradient(circle at 85% 80%,#e0e7ff 0,transparent 30%),
    #f8fafc;
}
.site-footer{align-self:end;padding:18px 0 2px;text-align:center;font-size:13px}
.site-footer a{color:#64748b;text-decoration:none}
.site-footer a:hover{color:#1d4ed8}
.empty-card{
  width:min(620px,100%);
  padding:48px;
  text-align:center;
  background:#ffffffd9;
  border:1px solid #dbe3ef;
  border-radius:28px;
  box-shadow:0 24px 70px #0f172a14;
  backdrop-filter:blur(12px);
}
.empty-icon{
  width:68px;
  height:68px;
  margin:0 auto 22px;
  display:grid;
  place-items:center;
  border-radius:22px;
  color:#fff;
  background:linear-gradient(135deg,#2154d8,#172554);
  font-size:34px;
  font-weight:800;
  transform:rotate(-4deg);
  box-shadow:0 16px 32px #163ea838;
}
.empty-card h1{margin:8px 0 12px;font-size:clamp(30px,6vw,48px);line-height:1.15}
.empty-lead{margin:0 auto 24px;max-width:470px;color:#64748b;font-size:17px}
.empty-note{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:14px;background:#eff6ff;color:#1e3a8a}
.empty-joke{margin:22px 0 0;color:#94a3b8;font-size:13px}
@media (max-width:600px){.empty-card{padding:34px 22px}}

.btn{
  border:0;
  border-radius:11px;
  padding:11px 17px;
  background:linear-gradient(135deg,#2154d8,#163ea8);
  color:#fff;
  box-shadow:0 8px 20px #163ea81f;
  font-weight:650;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px #163ea829;filter:brightness(1.04)}
.btn:active{transform:translateY(0)}
.btn.secondary{background:#475569}
.btn.danger{background:#b91c1c}
.btn.light{background:#eef2f7;color:#172033;box-shadow:none}
.btn.full{width:100%}
.btn:disabled{opacity:.55}

.hidden{display:none!important}
.muted{color:#64748b;font-size:13px}
.pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;background:#e2e8f0;font-size:12px}
.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.notice{padding:10px 12px;border-radius:10px;margin-bottom:14px;background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}
.error{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.linkbox{word-break:break-all;background:#f8fafc;padding:10px 12px;border-radius:10px;border:1px solid #e2e8f0}
.card{
  background:#fff;
  border:1px solid #dde5f0;
  border-radius:18px;
  padding:24px;
  box-shadow:0 10px 35px #0f172a0a;
}
.card h2,.card h3,.card h4{margin-top:0;color:#0f1f3d}
.card h3{margin-bottom:20px;font-size:18px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:13px;font-weight:700;color:#334155}
.field input,.field select,.field textarea{
  border:1px solid #c9d3e0;
  border-radius:11px;
  padding:11px 13px;
  background:#fbfdff;
  color:#172033;
  transition:border-color .18s,box-shadow .18s,background .18s;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f619}
.field textarea{min-height:82px}

.admin-page{
  min-height:100vh;
  background:
    radial-gradient(circle at top left, #dbeafe 0, transparent 30%),
    radial-gradient(circle at 90% 10%, #dbe4ff 0, transparent 24%),
    #eef2f8;
}
.login-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:40px 24px;
}
.login-stage{
  width:min(1040px,100%);
  min-height:620px;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  overflow:hidden;
  border:1px solid #dbe3ef;
  border-radius:30px;
  background:#fff;
  box-shadow:0 32px 90px #17255424;
}
.login-intro{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:52px;
  color:#e2e8f0;
  background:
    radial-gradient(circle at 85% 10%,#3b82f680 0,transparent 28%),
    radial-gradient(circle at 0 100%,#2563eb4d 0,transparent 35%),
    linear-gradient(145deg,#0f172a,#172554 60%,#1e3a8a);
}
.login-intro:after{content:"";position:absolute;right:-90px;bottom:-110px;width:280px;height:280px;border:1px solid #ffffff26;border-radius:50%}
.login-badge{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.login-intro h1{margin:14px 0 18px;color:#fff;font-size:clamp(38px,5vw,58px);line-height:1.12;letter-spacing:-.04em}
.login-intro .eyebrow{color:#93c5fd;font-weight:700;letter-spacing:.12em}
.login-copy{max-width:430px;margin:0;color:#bfdbfe;font-size:17px}
.login-feature-list{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.login-feature-list span{padding:8px 12px;border:1px solid #ffffff26;border-radius:999px;background:#ffffff0d;font-size:13px}
.login-brand h1,.sidebar-brand strong{margin:0;font-size:22px}
.login-brand p,.sidebar-brand span,.eyebrow{margin:0;color:#64748b}
.brand-mark{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#2154d8,#0f2f85);
  color:#fff;
  font-weight:700;
  box-shadow:0 12px 24px #163ea847;
}
.login-card{
  align-self:center;
  padding:54px;
  background:#fff;
}
.login-form-head{margin-bottom:30px}
.login-form-head h2{margin:8px 0;font-size:32px;letter-spacing:-.03em}
.login-form-head p{margin:0;color:#64748b}
.login-kicker{color:#2154d8;font-size:13px;font-weight:800;letter-spacing:.1em}
.login-card .field{margin-bottom:18px}
.login-card .field input{height:50px;background:#f8fafc;transition:border-color .2s,box-shadow .2s,background .2s}
.login-card .field input:focus{outline:0;border-color:#2563eb;background:#fff;box-shadow:0 0 0 4px #2563eb1a}
.login-submit{height:50px;margin-top:4px;font-weight:700}
.login-hint{margin:18px 0 0;text-align:center;color:#94a3b8;font-size:12px}
.login-hint code{color:#64748b}
.login-card .notice{margin-bottom:18px}
.login-card .brand-mark{flex:0 0 auto}

@media(max-width:800px){
  .login-stage{grid-template-columns:1fr;min-height:auto}
  .login-intro{min-height:300px;padding:34px}
  .login-intro h1{font-size:38px}
  .login-feature-list{margin-top:32px}
  .login-card{padding:38px 30px}
}
@media(max-width:480px){
  .login-shell{padding:16px}
  .login-stage{border-radius:22px}
  .login-intro{min-height:250px;padding:28px 24px}
  .login-intro h1{font-size:32px}
  .login-copy{font-size:15px}
  .login-feature-list span:last-child{display:none}
  .login-card{padding:32px 24px}
}

.admin-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
}
.sidebar{
  position:sticky;
  top:0;
  height:100vh;
  padding:22px 18px;
  background:
    radial-gradient(circle at 20% 0,#1e40af55 0,transparent 24%),
    linear-gradient(180deg,#0d172d,#142653);
  color:#e2e8f0;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.sidebar-brand{
  display:flex;
  align-items:center;
  gap:12px;
  padding:2px 4px 20px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.side-nav{display:grid;gap:8px}
.nav-item{
  border:1px solid rgba(255,255,255,.08);
  border-radius:13px;
  padding:13px 14px 12px;
  background:rgba(255,255,255,.03);
  color:#e2e8f0;
  text-align:left;
}
.nav-item span{display:block;font-weight:700;font-size:15px}
.nav-item small{display:block;color:#94a3b8;margin-top:3px}
.nav-item.active{
  background:linear-gradient(135deg,#2563eb,#1d4ed8);
  border-color:transparent;
  box-shadow:0 12px 26px #0f172a3d;
}
.nav-item:not(.active):hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.13)}
#initializeDatabase{margin-top:4px;background:#ffffff12;border:1px solid #ffffff1f;box-shadow:none;color:#dbeafe}
.logout{margin-top:auto}

.admin-main{
  width:100%;
  min-width:0;
  padding:34px clamp(24px,3vw,48px) 56px;
  overflow-x:hidden;
}
.panel{width:min(1380px,100%);margin:0 auto}
.panel>.card,.panel>.grid{margin-bottom:18px}
.page-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-bottom:26px;
  padding:0 2px;
}
.page-head h1{margin:3px 0 0;font-size:30px;letter-spacing:-.035em;color:#102142}
.page-head>p{max-width:520px;margin:0;color:#64748b;text-align:right;font-size:14px}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  gap:18px;
}
.grid>*{min-width:0}
#categoryForm,#levelForm{display:flex;flex-direction:column;gap:14px}
#categoryForm .btn,#levelForm .btn{align-self:flex-start;margin-top:auto}
.mini-list{display:grid;gap:7px;margin-top:5px;padding-top:14px;border-top:1px solid #e2e8f0}
.mini-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;background:#f8fafc}
.mini-item span{display:flex;min-width:0;flex-direction:column}
.mini-item strong{font-size:13px}
.mini-item small{overflow:hidden;color:#64748b;text-overflow:ellipsis;white-space:nowrap}
.mini-item .icon-action{font-size:18px;color:#475569}
.mini-actions{display:flex;align-items:center;gap:2px}
.btn.danger-text{color:#b91c1c;background:#fff1f2;box-shadow:none}
#projectForm>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#projectForm>.grid .field:last-child{grid-column:1/-1}
#projectForm>.btn{margin-top:18px}
#campaignForm>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#ruleForm>.grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}
.list{display:grid;gap:10px}
.workspace-card{overflow:hidden;border:1px solid #dce5f0;border-radius:16px;background:#fff;box-shadow:0 12px 36px #0f172a0a}
.workspace-toolbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #e2e8f0}
.workspace-toolbar p{margin:2px 0 0}
.toolbar-actions{display:flex;align-items:center;gap:10px}
.search-input{width:min(320px,32vw);height:42px;padding:0 13px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}
.search-input:focus{outline:0;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f619;background:#fff}
.entity-tabs{display:flex;gap:4px;padding:4px;border-radius:11px;background:#f1f5f9}
.entity-tab{min-width:72px;padding:8px 14px;border:0;border-radius:8px;background:transparent;color:#64748b;font-weight:700}
.entity-tab.active{background:#fff;color:#1d4ed8;box-shadow:0 2px 8px #0f172a12}
.entity-list{min-height:190px}
.entity-row{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(130px,.7fr) auto;align-items:center;gap:18px;min-height:72px;padding:13px 16px;border-bottom:1px solid #edf1f5}
#projectList .entity-row{grid-template-columns:minmax(260px,1.5fr) 100px minmax(180px,.8fr) auto}
.entity-row:last-child{border-bottom:0}
.entity-row:hover{background:#f8fbff}
.entity-primary{display:flex;min-width:0;flex-direction:column;gap:3px}
.entity-primary strong{overflow:hidden;color:#17233d;text-overflow:ellipsis;white-space:nowrap}
.entity-primary span{overflow:hidden;color:#64748b;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.entity-code{color:#475569;font-size:13px}
.entity-meta{color:#64748b;font-size:13px}
.row-actions{display:flex;justify-content:flex-end;gap:4px;white-space:nowrap}
.text-action{display:inline-flex;align-items:center;padding:7px 9px;border:0;border-radius:8px;background:transparent;color:#2563eb;font-size:13px;font-weight:650;text-decoration:none}
.text-action:hover{background:#eff6ff}
.text-action.danger-text:hover{background:#fff1f2}
.status-active{display:inline-flex;margin-left:6px;padding:2px 7px;border-radius:999px;background:#dcfce7;color:#166534;font-size:11px}
.empty-list{display:grid;min-height:190px;place-items:center;color:#94a3b8}
.item{
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:15px 16px;
  background:#fbfdff;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.item:hover{border-color:#bfdbfe;box-shadow:0 8px 22px #1d4ed80d;transform:translateY(-1px)}
.item-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.project-checks{
  max-height:220px;
  overflow:auto;
  border:1px solid #dbe3ef;
  border-radius:12px;
  padding:10px;
  background:#fafcff;
}
.project-checks label{display:block;margin:6px 0}
.rule-editor{padding:28px}
.builder-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 16px}
.builder-head h4{margin:0 0 3px;font-size:17px}
.builder-head p{margin:0}
.score-total{flex:0 0 auto;padding:10px 14px;border-radius:12px;background:#eff6ff;color:#1e40af;font-size:13px}
.score-total strong{font-size:22px;margin-left:5px}
.section-builder{display:grid;gap:14px}
.builder-section{border:1px solid #d8e2ef;border-radius:15px;background:#f8fafc;overflow:hidden}
.builder-section-head{display:flex;align-items:flex-end;gap:14px;padding:16px 16px 14px;background:#f1f5f9;border-bottom:1px solid #dde5ef}
.builder-section-head>.field{max-width:520px}
.grow{flex:1;min-width:0}
.section-score{flex:0 0 auto;min-width:86px;padding:10px 12px;border-radius:10px;background:#fff;color:#64748b;text-align:center;font-size:12px;border:1px solid #e2e8f0}
.section-score strong{color:#1d4ed8;font-size:18px}
.builder-items{padding:6px 16px}
.builder-item{display:flex;align-items:flex-end;gap:12px;padding:12px 0;border-bottom:1px solid #e2e8f0}
.builder-item:last-child{border-bottom:0}
.score-field{flex:0 0 120px}
.drag-dot{align-self:center;color:#94a3b8;letter-spacing:2px;font-size:12px}
.icon-action{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;font-size:22px;line-height:1;transition:background .18s,color .18s}
.icon-action:hover{background:#fee2e2}
.danger-text{color:#b91c1c}
.inline-add{margin:2px 16px 16px;padding:8px 11px;border:1px dashed #93c5fd;border-radius:9px;background:#eff6ff;color:#1d4ed8;font-weight:700}
.builder-add{margin-top:14px;border:1px dashed #93c5fd;color:#1d4ed8;background:#f8fbff}
.builder-block{margin-top:28px;padding-top:22px;border-top:1px solid #e2e8f0}
.simple-builder{display:grid;gap:10px}
.simple-row{display:flex;align-items:flex-end;gap:12px;padding:13px;border:1px solid #e2e8f0;border-radius:13px;background:#fbfdff}
.check-field{display:flex;align-items:center;gap:7px;height:42px;padding:0 8px;color:#475569;font-size:13px;white-space:nowrap}
.builder-empty{padding:22px;border:1px dashed #cbd5e1;border-radius:12px;color:#94a3b8;text-align:center;background:#f8fafc}
.rule-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px;padding-top:22px;border-top:1px solid #e2e8f0}
.rule-submit-bar p{margin:0}
.option-stack{display:flex;flex-direction:column;gap:10px;justify-content:center}

.tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.tab{background:#e2e8f0;color:#334155}
.tab.active{background:#2563eb;color:#fff}

.modal{
  position:fixed;
  inset:0;
  background:#0f172a99;
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  padding:0;
  z-index:20;
}
.modal>.card{width:min(780px,92vw);height:100vh;max-height:none;overflow:auto;border:0;border-radius:18px 0 0 18px;padding:0;box-shadow:-20px 0 55px #0f172a38;animation:drawer-in .2s ease-out}
.modal>.card>.item-head{position:sticky;top:0;z-index:3;padding:18px 22px;border-bottom:1px solid #e2e8f0;background:#fff}
.modal>.card>.item-head h3{margin:0}
#modalBody{padding:22px}
#modalBody form{display:grid;gap:18px}
#modalBody .side-form{display:grid}
.drawer-footer{position:sticky;bottom:-22px;display:flex;justify-content:flex-end;margin:8px -22px -22px;padding:15px 22px;border-top:1px solid #e2e8f0;background:#fff}
@keyframes drawer-in{from{transform:translateX(24px);opacity:.7}to{transform:translateX(0);opacity:1}}
.app-dialog-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:#0f172a99;backdrop-filter:blur(3px)}
.app-dialog{width:min(430px,100%);padding:24px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 28px 80px #0f172a45;animation:dialog-in .16s ease-out}
.app-dialog-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:17px;border-radius:12px;background:#dbeafe;color:#1d4ed8;font-size:22px;font-weight:800}
.app-dialog-icon.danger{background:#fee2e2;color:#b91c1c}
.app-dialog-content h3{margin:0 0 8px;color:#17233d;font-size:20px}
.app-dialog-content p{margin:0;color:#64748b;line-height:1.7;white-space:pre-line}
.app-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.app-dialog-actions .btn{min-width:88px}
@keyframes dialog-in{from{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}

.topbar{padding:18px 20px;background:#0f172a;color:#fff;text-align:center}
.topbar h1{margin:0;font-size:20px}
.rate-wrap{max-width:960px;margin:25px auto;padding:0 18px 40px}
.rate-title{text-align:center;margin-bottom:20px}
.rate-title .field{max-width:420px;margin:20px auto 0;text-align:left}
.rate-title input{width:100%}
.project-card{border-top:5px solid #2563eb}
.score-section{border-left:4px solid #2563eb;padding:10px 14px;margin:14px 0;background:#f8fafc}
.score-row{display:grid;grid-template-columns:1fr 100px 55px;gap:10px;align-items:center;margin:8px 0}
.score-row input{width:100%;padding:7px;border:1px solid #cbd5e1;border-radius:6px}
.score-row input:focus{outline:0;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}
.score-row input.score-corrected{animation:score-corrected .7s ease}
@keyframes score-corrected{0%,100%{border-color:#cbd5e1;background:#fff}35%{border-color:#f59e0b;background:#fffbeb;box-shadow:0 0 0 3px #f59e0b1f}}
.total{font-size:22px;font-weight:700;color:#1d4ed8}
.question{margin:14px 0}
.question textarea,.question select{width:100%;min-height:44px;border:1px solid #cbd5e1;border-radius:9px;padding:9px 11px;background:#fff}
.question textarea{min-height:82px}

@media(max-width:900px){
  .admin-shell{grid-template-columns:1fr}
  .sidebar{
    position:relative;
    height:auto;
  }
  .admin-main{
    max-width:none;
    padding:18px;
  }
  .side-nav{grid-template-columns:repeat(3,1fr)}
  #initializeDatabase{margin-top:0}
  .logout{margin-top:0}
}

@media(max-width:650px){
  .score-row{grid-template-columns:1fr 75px 42px}
  .item-head{align-items:flex-start;flex-direction:column}
  .page-head{align-items:flex-start;flex-direction:column}
  .page-head>p{text-align:left}
  .sidebar{padding:14px;gap:10px}
  .sidebar-brand{padding:0 2px 12px}
  .sidebar-brand .brand-mark{width:38px;height:38px;border-radius:11px}
  .side-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .nav-item{padding:10px 6px;text-align:center}
  .nav-item span{font-size:14px}
  .nav-item small{display:none}
  #initializeDatabase,.logout{padding:9px 12px}
  #projectForm>.grid,#campaignForm>.grid,#ruleForm>.grid{grid-template-columns:1fr}
  #projectForm>.grid .field:last-child{grid-column:auto}
  .card{padding:19px}
  .rule-editor{padding:19px}
  .builder-head,.rule-submit-bar{align-items:flex-start;flex-direction:column}
  .builder-section-head{align-items:stretch;flex-wrap:wrap}
  .builder-section-head>.field{flex-basis:100%;max-width:none}
  .section-score{margin-right:auto}
  .builder-item{align-items:stretch;flex-wrap:wrap}
  .builder-item .drag-dot{display:none}
  .builder-item .grow{flex-basis:100%}
  .score-field{flex:1}
  .simple-row{align-items:stretch;flex-wrap:wrap}
  .simple-row .grow{flex-basis:100%}
  .workspace-toolbar{align-items:stretch;flex-direction:column}
  .toolbar-actions{align-items:stretch;flex-direction:column}
  .search-input{width:100%}
  .entity-tabs{display:grid;grid-template-columns:repeat(3,1fr)}
  .entity-tab{min-width:0;padding-inline:7px}
  .entity-row,#projectList .entity-row{grid-template-columns:1fr;gap:8px;padding:15px}
  .entity-primary strong,.entity-primary span{white-space:normal}
  .entity-code{display:none}
  .row-actions{justify-content:flex-start;flex-wrap:wrap}
  .modal>.card{width:100vw;border-radius:0}
  .modal>.card>.item-head{padding:14px 16px;align-items:center;flex-direction:row}
  #modalBody{padding:16px}
  .drawer-footer{bottom:-16px;margin:8px -16px -16px;padding:13px 16px}
  .app-dialog{padding:20px;border-radius:14px}
  .app-dialog-actions{display:grid;grid-template-columns:1fr 1fr}
  .app-dialog-actions .btn{width:100%}
  .rate-wrap{margin:14px auto;padding:0 12px 28px}
  .rate-wrap .card{border-radius:14px;padding:17px}
  .rate-title h1{font-size:24px}
  .project-card h2{font-size:20px}
  .score-section{padding:10px;margin:12px 0}
  .score-section h3{font-size:16px}
  .score-row{grid-template-columns:minmax(0,1fr) 72px 40px;gap:7px}
  .score-row label{font-size:13px;line-height:1.35}
  .score-row input{min-width:0}
  .question .actions{align-items:flex-start;flex-direction:column}
  .empty-page{padding:16px}
  .empty-card{padding:30px 20px;border-radius:20px}
  .empty-card h1{font-size:32px}
}
