html,body{margin:0;height:100%;background:#0e1b2c;overflow:hidden;touch-action:none;
    font-family:"Hiragino Maru Gothic ProN","Hiragino Sans","Yu Gothic",system-ui,sans-serif;color:#fff;user-select:none;-webkit-user-select:none}
  #wrap{position:relative;height:100%;display:flex;align-items:center;justify-content:center}
  canvas{display:block;background:linear-gradient(#bfe6f5,#e9f7fc);border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.4);max-height:100%;max-width:100%}
  .overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}
  .panel{pointer-events:auto;background:rgba(14,27,44,.82);padding:22px 26px;border-radius:18px;max-width:330px}
  .panel h1{margin:6px 0 10px;font-size:26px;line-height:1.3;color:#ffd77a}
  .panel p{margin:6px 0;font-size:14px;line-height:1.6;color:#dbe8f2}
  .panel img{width:96px;height:96px;border-radius:50%;border:4px solid #ffd77a}
  button{margin-top:14px;font:inherit;font-size:18px;font-weight:bold;padding:12px 30px;border:0;border-radius:999px;background:#ff8a3d;color:#fff;cursor:pointer;box-shadow:0 4px 0 #c45a17}
  button:active{transform:translateY(3px);box-shadow:0 1px 0 #c45a17}
  .hidden{display:none}
  #muteBtn{position:absolute;top:10px;right:10px;margin:0;padding:6px 10px;font-size:20px;background:rgba(14,27,44,.6);box-shadow:none;z-index:5}
  button.sub{font-size:15px;padding:8px 22px;background:#4a7bb0;box-shadow:0 4px 0 #2e5580}
  button.sub:active{box-shadow:0 1px 0 #2e5580}
  .charLine{margin-top:10px !important}
  .charName{color:#ffd77a}
  #select .panel{max-height:96vh;overflow-y:auto;padding:14px 16px}
  #select .panel h1{margin:2px 0 6px;font-size:22px}
  .cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;justify-content:center}
  .card{margin:0;padding:6px 6px 8px;width:140px;border-radius:14px;background:#22364d;box-shadow:none;border:3px solid transparent;
    display:flex;flex-direction:column;align-items:center;font-size:17px}
  .card:active{transform:none;box-shadow:none}
  .card.sel{border-color:#ffd77a;background:#2d4866}
  .card canvas{width:64px;height:64px;background:none;box-shadow:none;border-radius:50%;background-color:#d8f0f8}
  .card .desc{font-size:11px;font-weight:normal;color:#dbe8f2;line-height:1.5;margin-top:2px;min-height:33px}
  .card .stats{font-size:11px;font-weight:normal;color:#ffd77a;text-align:left;line-height:1.6;margin-top:4px}
  .big{font-size:34px;font-weight:bold;color:#ffd77a}
