:root {
  --school-blue: #3f73c9;
  --school-navy: #274a7d;
  --school-yellow: #f3b849;
  --school-mint: #7dc5b4;
}

.school-hero .eyebrow { color:var(--school-blue)!important; }
.school-hero h1 em { color:var(--school-blue); }
.school-game-shell .mission {
  background:linear-gradient(90deg,#fff9df,#f7fbff 58%,#eef4ff);
}
.school-game-shell .mission-icon {
  border-color:#d5e4fb;
  box-shadow:0 7px 18px rgba(63,115,201,.15);
}
.school-game-shell .mission > div > span { color:var(--school-blue); }
.school-game-shell .mission-goals span { border-color:#dae5f5; }
.school-game-shell .mission-goals b { color:var(--school-blue); }

.scene.schoolbag {
  background:
    linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,0)),
    linear-gradient(#dcecf8 0 61%,#d7bd99 61%);
}
.scene.schoolbag:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:58%;
  height:12px;
  background:#f5f0df;
  border-top:4px solid #c8d7dd;
  box-shadow:0 5px 0 rgba(84,73,62,.1);
}
.scene.schoolbag .scene-window {
  left:5%;
  top:8%;
  width:25%;
  height:35%;
  border-color:#fff;
  background:linear-gradient(#98d4f4 67%,#a5d68d 67%);
}
.scene.schoolbag .scene-window span {
  left:11%;
  top:7%;
  font-size:25px;
}
.school-clock {
  position:absolute;
  left:37%;
  top:10%;
  z-index:2;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:6px solid white;
  border-radius:50%;
  background:#fff8d8;
  box-shadow:0 5px 12px rgba(50,73,94,.16);
}
.school-clock span {
  color:#526b8d;
  font-size:12px;
  font-weight:900;
}
.timetable-board {
  position:absolute;
  right:5%;
  top:7%;
  z-index:2;
  width:37%;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:4px;
  padding:9px;
  border:6px solid #e4bd78;
  background:#3d715e;
  box-shadow:0 7px 14px rgba(37,56,53,.17);
  transform:rotate(1deg);
}
.timetable-board strong {
  grid-column:1 / -1;
  color:#fff3b8;
  text-align:center;
  font-size:11px;
  letter-spacing:.12em;
}
.timetable-board span {
  padding:4px 2px;
  border:1px solid rgba(255,255,255,.25);
  color:white;
  font-size:7px;
  text-align:center;
}
.school-desk {
  position:absolute;
  left:4%;
  bottom:9%;
  z-index:2;
  width:31%;
  height:16%;
  border:6px solid #aa754b;
  border-radius:7px;
  background:#d79a62;
  box-shadow:0 32px 0 -13px #8c6042;
}
.school-desk span {
  position:absolute;
  left:14%;
  top:-45px;
  font-size:35px;
  filter:drop-shadow(0 4px 2px rgba(0,0,0,.12));
}
.school-desk i {
  position:absolute;
  right:12%;
  top:-35px;
  width:25px;
  height:32px;
  border-radius:4px 4px 10px 10px;
  background:#f2c94c;
  box-shadow:inset 0 -8px #ed875f;
}
.school-chair {
  position:absolute;
  left:20%;
  bottom:3%;
  z-index:1;
  width:16%;
  height:27%;
  border:9px solid #7190ad;
  border-bottom:0;
  border-radius:12px 12px 0 0;
}
.school-bag {
  position:absolute;
  left:33%;
  bottom:4%;
  z-index:5;
  width:39%;
  height:42%;
  border:7px solid #4b4ba8;
  border-radius:25px 25px 18px 18px;
  background:linear-gradient(145deg,#7a68dd,#5268c8);
  box-shadow:
    inset 0 -30px rgba(42,48,133,.24),
    0 13px 20px rgba(46,48,104,.26);
}
.school-bag:before {
  content:"";
  position:absolute;
  left:15%;
  right:15%;
  bottom:7%;
  height:29%;
  border:3px solid rgba(255,255,255,.38);
  border-radius:9px 9px 14px 14px;
  background:rgba(255,255,255,.1);
}
.school-bag:after {
  content:"★";
  position:absolute;
  right:9px;
  top:7px;
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  border-radius:50%;
  background:var(--school-yellow);
  color:white;
  font-size:13px;
}
.bag-handle {
  position:absolute;
  left:31%;
  top:-31px;
  width:38%;
  height:35px;
  border:8px solid #4b4ba8;
  border-bottom:0;
  border-radius:20px 20px 0 0;
}
.school-bag small {
  position:absolute;
  left:50%;
  bottom:11%;
  z-index:4;
  transform:translateX(-50%);
  padding:3px 7px;
  border-radius:99px;
  background:rgba(40,45,115,.65);
  color:white;
  font-size:6px;
  font-weight:900;
  letter-spacing:.1em;
  white-space:nowrap;
}
.scene.schoolbag .table {
  inset:12% 10% 37%;
  z-index:3;
  width:auto;
  height:auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-content:center;
  gap:2px;
  border:0;
  border-radius:12px;
  background:rgba(255,255,255,.9);
  box-shadow:inset 0 0 0 3px rgba(75,75,168,.15);
}
.scene.schoolbag .table span {
  position:static;
  display:grid;
  place-items:center;
  font-size:21px;
  filter:drop-shadow(0 3px 2px rgba(0,0,0,.11));
}
.scene.schoolbag .busra {
  right:1%;
  left:auto;
  bottom:3%;
  z-index:4;
}
.scene.schoolbag .busra span { font-size:102px; }
.scene.schoolbag .busra small { background:var(--school-blue); }
.school-scene-card {
  background:
    radial-gradient(circle at 20% 10%,rgba(243,184,73,.16),transparent 18rem),
    #f3f6fb;
}
.bag-counter {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
  margin:9px 7px 0;
}
.bag-counter span {
  padding:7px 5px;
  border:1px solid #dce5f2;
  border-radius:9px;
  background:white;
  color:#64748d;
  font-size:10px;
  font-weight:800;
  text-align:center;
}

@media (max-width:560px) {
  .school-hero h1 { font-size:36px; }
  .scene.schoolbag .scene-window { width:27%; }
  .school-clock { left:36%; width:45px; height:45px; border-width:4px; }
  .school-clock span { font-size:10px; }
  .timetable-board { width:38%; padding:6px; border-width:4px; }
  .timetable-board span { font-size:6px; }
  .school-desk { width:30%; border-width:4px; }
  .school-desk span { top:-36px; font-size:28px; }
  .school-bag { left:31%; width:42%; height:43%; border-width:5px; }
  .bag-handle { top:-24px; height:28px; border-width:6px; }
  .scene.schoolbag .table span { font-size:17px; }
  .scene.schoolbag .busra { right:-3%; }
  .scene.schoolbag .busra span { font-size:78px; }
  .bag-counter { grid-template-columns:repeat(2,1fr); }
}
