*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:system-ui, sans-serif;
  }
  body{
    background:#1a1423;
    color:#fff;
    padding:30px 16px;
  }
  .container{
    max-width:900px;
    margin:0 auto;
  }
  h1{
    text-align:center;
    margin-bottom:12px;
    color:#ffc8dd;
  }
  .tip{
    text-align:center;
    margin-bottom:40px;
    opacity:0.8;
  }
  .grid-box{
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(160px,1fr));
    gap:18px;
  }
  .item{
    background:#302442;
    border-radius:14px;
    height:140px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition: 0.3s ease;
    border:1px solid #ffc8dd44;
  }
  .item:hover{
    transform: translateY(-6px);
    background:#402e58;
  }
  .item-inner{
    font-size:17px;
    color:#ffc8dd;
  }
  
  /* 弹窗 */
  .modal{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:999;
    padding:20px;
    pointer-events: none;
    transition: background 0.35s ease;
  }
  .modal.show{
    background:rgba(0,0,0,0.85);
    pointer-events: auto;
  }
  .modal-content{
    max-width:90%;
    max-height:90vh;
    background:#221a33;
    padding:20px;
    border-radius:16px;
    position:relative;
    transform: scale(0.92);
    opacity:0;
    transition: all 0.35s ease;
  }
  .modal.show .modal-content{
    transform: scale(1);
    opacity:1;
  }
  .close-btn{
    position:absolute;
    top:10px;
    right:16px;
    font-size:32px;
    cursor:pointer;
    color:#fff;
  }
  #modal-img{
    max-width:100%;
    max-height:65vh;
    border-radius:10px;
    /* 图片加载时平滑 */
    opacity:0;
    transition: opacity 0.25s ease;
  }
  #modal-img.loaded{
    opacity:1;
  }
  #modal-text{
    margin-top:16px;
    text-align:center;
    color:#ffc8dd;
    font-size:16px;
  }
  