/*.modal-shell{
  width:min(430px, 100%);
  border:1px solid rgba(255,255,255,.65);
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.54));
  backdrop-filter: blur(16px);
  border-radius:calc(var(--radius) + 6px);
  box-shadow: var(--shadow);
  padding:14px;
}*/

.pc-dialog.modal-shell {
  max-width: 460px;
  background: transparent;
  border: 0;
  border-radius: 23px;
  padding: 0;
}

.shell-card{
  background:linear-gradient(180deg, rgba(250,247,239,.96), rgba(245,241,232,.94));
  border:1px solid rgba(214,203,184,.75);
  border-radius:26px;
  overflow:hidden;
}
.shell-head{
  padding:24px 24px 10px;
}
.shell-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#668171;
  margin-bottom:12px;
}
.shell-eyebrow::before{
  content:"";
  width:8px;height:8px;border-radius:999px;
  background:linear-gradient(180deg,#a8c5b0,#7ea38a);
  box-shadow:0 0 0 6px rgba(126,163,138,.12);
}
.shell-card h1{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  font-size:30px;
  line-height:1.1;
  font-weight:600;
  color:#2f4338;
}
.shell-card .sub{
  margin-bottom: 16px;
  color: #6c7b72;
  line-height: 1.55;
  font-size: 14.5px;
}
.shell-panel{
  border:1px solid rgba(206,198,182,.9);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.7), rgba(253,250,243,.92));
  padding:18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 10px 24px rgba(50,62,50,.05);
}
.shell-body{padding:12px 24px 24px}
.shell-panel{
  border:1px solid rgba(206,198,182,.9);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.7), rgba(253,250,243,.92));
  padding:18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 10px 24px rgba(50,62,50,.05);
}
.shell-card label{
  display:block;
  font-weight:700;
  margin-bottom:15px;
  color:#31463b;
  line-height:1.4;
}
.shell-hint{
  display:block;
  margin-top:6px;
  font-weight:500;
  font-size:12.5px;
  color:#809085;
}
.shell-card textarea{
  width:100%;
  min-height:158px;
  resize:none;
  border-radius:18px;
  border:1px solid #d9d3c4;
  background:linear-gradient(180deg, #fffdf9, #f7f2e8);
  padding:16px 16px 18px;
  color:#304338;
  font:inherit;
  font-size:15.5px;
  line-height:1.55;
  outline:none;
  transition:border-color .24s ease, box-shadow .24s ease, transform .24s ease;
  box-shadow: inset 0 1px 3px rgba(55,52,45,.04);
}
.shell-card textarea::placeholder{color:#9aa59d}
.shell-card textarea:focus{
  border-color:#94b19d;
  box-shadow:0 0 0 4px rgba(148,177,157,.14), inset 0 1px 3px rgba(55,52,45,.04);
  transform:translateY(-1px);
}
.shell-actions{
  margin-top: 16px;
  text-align: center;
}
.shell-privacy{
  font-size: 12.5px;
  line-height: 1.5;
  color: #7b897f;
}
.shell-btn{
  appearance:none;
  border:0;
  cursor:pointer;
  border-radius:999px;
  padding:14px 22px;
  font:inherit;
  font-weight:700;
  letter-spacing:.01em;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.shell-btn.primary{
  color:#fbfaf7;
  background:linear-gradient(180deg, #7ea089, #607b68);
  box-shadow:0 14px 28px rgba(90,114,98,.25), inset 0 1px 0 rgba(255,255,255,.18);
  min-width:126px;
}
.shell-btn.primary:hover{transform:translateY(-1px)}
.shell-btn.primary:active{transform:translateY(1px)}
.shell-btn.ghost{
  color:#496054;
  background:rgba(255,255,255,.6);
  border:1px solid rgba(145,162,151,.35);
  padding:11px 16px;
}

.shell-card .experience{
  display:none;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .4s ease, transform .4s ease;
  margin-top:4px;
}
.shell-card .experience.active{
  display:block !important;
  opacity:1;
  transform:translateY(0);
}
.scene-shell{
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(203,196,180,.92);
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.35), transparent 45%),
    linear-gradient(180deg, #20211f 0%, #26221f 18%, #171715 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 40px rgba(18,18,18,.16);
  position:relative;
}
.scene-topcopy{
  position: absolute;
  top: 14px;
  left: 14px;
  right: 14px;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  pointer-events: none;
  gap: 12px;
}
.scene-title{
  color:rgba(244,239,228,.92);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
}
.scene-note{
  color:rgba(225,217,201,.72);
  font-size:12px;
  text-align:right;
  line-height:1.45;
}
.shell-card canvas{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 1 / 1.24;
}
.shell-ending{
  margin-top: 14px;
  text-align: center;
  opacity: 0;
  position: absolute;
  z-index: 48;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(.5);
  width: 300px;
  padding: 16px 16px 19px;
  line-height: 1.2;
  background: #ffffff;
  border-radius: 1rem;
  transition: all 1s ease;
}
.shell-ending.show{
  opacity: 1;
  transform: translate(-50%, calc(-50% - 40px)) scale(1);
  transition-delay: 5s;
}
.shell-ending p{
  color: #41564b;
  font-size: 22px;
  line-height: 1.2;
  font-family: Georgia, "Times New Roman", serif;
  animation: fadeShellUp .9s ease both;
}
.shell-btn{margin-top:16px}

.shell-card .fade-out{
  opacity:0;
  transform:translateY(-6px);
  transition:opacity .32s ease, transform .32s ease;
  pointer-events:none;
  position:absolute;
  inset:0;
  padding:12px 24px 24px;
}
.shell-body-wrap{position:relative; min-height:330px;}

@keyframes fadeShellUp{
  from{opacity:0; transform:translateY(14px)}
  to{opacity:1; transform:translateY(0)}
}

@media (max-width:430px){
  .shell-head{padding:22px 20px 10px}
  .shell-body{padding:12px 20px 22px}
  .shell-card .fade-out{padding:12px 20px 22px}
  .shell-card h1{font-size:28px}
  .shell-card textarea{min-height:150px}
  .shell-actions{align-items:flex-start; flex-direction:column}
  .shell-privacy{max-width:none}
  .shell-btn.primary{width:100%}
}