.v9-card-grid,.v9-theme-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.v9-card-grid button,.v9-theme-list button {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  justify-content:center;
  gap:6px;
  min-height:94px;
  padding:14px;
  border:1px solid #e4d5df;
  border-radius:18px;
  color:#62495f;
  background:#eee6f1;
  font-family:Nunito,sans-serif;
}
.v9-card-grid button:nth-child(3n+2),.v9-theme-list button:nth-child(3n+2){background:#f2e6da}
.v9-card-grid button:nth-child(3n+3),.v9-theme-list button:nth-child(3n+3){background:#e3eee5}
.v9-card-grid button span,.v9-theme-list button span{font-size:27px;line-height:1}
.v9-card-grid strong,.v9-theme-list strong{font:500 20px/1.15 Fredoka,sans-serif}
.v9-card-grid small,.v9-theme-list small{font:700 13px/1.3 Nunito,sans-serif}
.v9-card-grid button:active,.v9-theme-list button:active{transform:scale(.98)}
.v9-card-grid button:focus-visible,.v9-theme-list button:focus-visible{outline:3px solid #9666b5;outline-offset:2px}
.v9-theme-list button[aria-pressed="true"]{border:2px solid #a975bc;background:#e6d3ef}
.v9-theme-next{display:flex;justify-content:center;margin-top:16px}
.v9-theme-next .btn{min-height:49px;padding-inline:16px}
.v9-opponents button{min-height:74px}
.wpanel .v9-theme-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wpanel .v9-theme-list strong{font-size:17px}
.wpanel .v9-theme-list small{font-size:11px}
.wpanel .v9-theme-list button{min-height:89px;padding:10px}
[data-family-open]{margin:12px 0}
.v9-sky-status{
  position:absolute;
  top:208px;
  left:max(15px,env(safe-area-inset-left,0px));
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  max-width:min(295px,60vw);
  padding:7px;
  border:1px solid #fff;
  border-radius:17px;
  background:#fff9efef;
  color:#715278;
  font:800 13px/1.2 Nunito,sans-serif;
}
.v9-sky-status[hidden]{display:none}
.v9-sky-status span{padding:5px}
.v9-sky-status button{min-height:44px;padding:7px 12px;border-radius:13px;background:#eee2ee;font:800 12px/1.2 Nunito,sans-serif;color:#62495f}
.back-outside[hidden]{display:none}
#btnAction:disabled{opacity:.64}

.v9-boat-status{
  position:absolute;
  left:max(15px,env(safe-area-inset-left));
  top:206px;
  padding:8px 13px;
  border-radius:18px;
  color:#5b4760;
  background:#fff9ef;
  border:1px solid #e6bf9b;
  font:800 13px/1.25 Nunito,sans-serif;
  pointer-events:none;
}
.v9-boat-status[hidden]{display:none}
.v9-pier{
  margin-top:18px;
  padding:15px;
  border-top:1px solid #dfcce0;
  background:#f6eee9;
  border-radius:18px;
}
.v9-pier h3{margin:0;font:500 23px Fredoka,sans-serif;color:#634867}
.v9-pier p{margin:5px 0 12px}
.v9-direct-code .family-code-input{min-height:52px;font-size:clamp(22px,6vw,34px);letter-spacing:.2em}
.v9-direct-code [role="status"]{margin:0;min-height:24px}
.v9-direct-code .family-code-value{letter-spacing:.16em}
.v9-renew{
  border:0;
  background:transparent;
  min-height:44px;
  color:#674975;
  text-decoration:underline;
  font:800 14px Nunito,sans-serif;
}
.v9-dialogue{display:grid;gap:12px}
.v9-dialogue-host{display:flex;gap:12px;align-items:center}
.v9-dialogue-host>span{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  flex:none;
  font-size:31px;
  background:#ead9ef;
  border:2px solid var(--cast-color);
  border-radius:19px;
}
.v9-dialogue-host strong{display:block;font:500 22px Fredoka,sans-serif}
.v9-dialogue-host small{display:block;color:#715773;font:800 14px Nunito,sans-serif}
.v9-answer{
  padding:13px 15px;
  border:1px solid #e4d4e4;
  background:#fff9ef;
  border-radius:17px;
  color:#4f3a56;
}
.v9-answer>p{font:500 clamp(19px,3vw,25px)/1.25 Fredoka,sans-serif;margin:0}
.v9-correction{border-top:1px dashed #dcc4d6;margin-top:5px;padding-top:8px}
.v9-correction p{margin:0;font:800 14px/1.4 Nunito,sans-serif}
.v9-questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.v9-questions button,.v9-listen{
  min-height:45px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  background:#eee1ed;
  color:#593d63;
  border:1px solid #ddc9df;
  border-radius:13px;
  text-align:left;
  font:800 14px/1.2 Nunito,sans-serif;
}
.v9-questions button[aria-pressed=true]{border-color:#955cab;background:#e4caed}
.v9-questions button span{font-size:19px}
.v9-listen{padding:5px 0;border:0;background:none;font-size:13px;color:#6e4684}
.v9-dialogue-footer{display:flex;gap:7px;flex-wrap:wrap;justify-content:space-between}
.v9-dialogue-footer button{min-height:44px}
.v9-dialogue button,.v9-pier button,.v9-direct-code button,.v9-card-grid button{
  touch-action:manipulation;
  user-select:none;
  -webkit-user-select:none;
}
.v9-dialogue button:active,.v9-pier button:active{transform:scale(.98)}
.v9-dialogue button:focus-visible,.v9-direct-code input:focus-visible{outline:3px solid #9b65ad;outline-offset:2px}

@media(orientation:portrait){
  .v9-card-grid,.v9-theme-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v9-boat-status{top:171px}
}
@media(max-width:510px){
  .v9-card-grid,.v9-theme-list{gap:8px}
  .v9-card-grid button,.v9-theme-list button{padding:10px;min-height:90px}
  .v9-card-grid strong,.v9-theme-list strong{font-size:17px}
  .v9-card-grid small,.v9-theme-list small{font-size:11px}
}
@media(max-width:1100px){.school-nav>[data-open="settings"]{display:none}}
@media(orientation:landscape) and (max-height:500px){.v9-sky-status{top:128px}}
@media(orientation:landscape) and (max-height:500px){.v9-boat-status{top:130px}}
