* { box-sizing: border-box; margin: 0; padding: 0; }

  body {
    min-height: 100vh;
    font-family: "Georgia", "Times New Roman", serif;
    background-color: #cfe9ff;
    background: linear-gradient(#cfe9ff, #e9f6ff);
    display: flex;
    justify-content: center;
    padding: 0;
    position: relative;
    overflow-x: hidden;
  }

  .paper-wrapper { display: flex; justify-content: center; width: 100%; padding: 2rem 1rem; z-index: 1000; }
  .paper { width: 70%; max-width: 900px; box-shadow: 0 12px 35px rgba(0,0,0,0.25); }
  .paper-top-container { position: relative; width: 100%; text-align: center; }
  .paper-top, .paper-bottom { display: block; width: 100%; height: auto; }

  .model-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 600px; height: auto; min-height: 300px; max-height: 90%; background: rgba(0,0,0,0.01); }
  @media (max-width: 767px) {
    .model-center { width: 60%; min-height: 150px; max-height: 70%; }
    .paper { width: 100%; }
    .paper-middle { padding: 1.5rem; }
  }

  .paper-middle { background: url("/static/images/papier_middle.png") repeat-y center top; background-size: 100% auto; padding: 2rem 3rem; text-align:center; }
  h1 { margin-bottom: 1rem; }
  .character-btn {
    display: inline-block;
    margin: 0.5rem;
    padding: 0.5rem 1rem;
    background-color: #f0f0f0;
    border: 2px solid #ccc;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    color: #000;
    font-weight: bold;
    transition: 0.2s;
  }
  .character-btn:hover { background-color: #ddd; border-color: #999; }

  .cloud { position: absolute; pointer-events: none; z-index: -1; }