/* Original pastel illustrations: different scenes and poses for each purpose. */
.cute-persona-intro { display:grid; grid-template-columns:1fr 42%; align-items:center; gap:22px; overflow:hidden; margin:8px 0 24px; padding:25px 28px; border:1px solid #cde1ee; border-radius:24px; background:linear-gradient(125deg,#edf8ff,#f5f0ff 65%,#fff4df); }
.cute-persona-intro > div > span { color:#5b759a; font-size:11px; letter-spacing:1px; }
.cute-persona-intro h1 { margin:12px 0; color:#2a4261; font-size:clamp(25px,3vw,36px); line-height:1.4; }
.cute-persona-intro p { margin:0; color:#6a7d94; font-size:12px; line-height:1.9; }
.cute-persona-intro img { display:block; width:100%; height:200px; object-fit:cover; border-radius:19px; box-shadow:0 10px 30px #5986ac20; }
.cute-personality .personality-intro { padding:25px 29px; border:1px solid #d2e0ef; border-radius:25px; background:linear-gradient(120deg,#f0f8ff,#fff6ef); box-shadow:0 12px 40px #7494b812; }
.cute-personality .personality-intro > img { width:43%; max-width:350px; height:225px; object-fit:cover; border-radius:22px; }
.cute-personality .personality-character-panel { overflow:hidden; border:1px solid #d7dff0; border-radius:23px; box-shadow:0 12px 32px #546d9510; }
.cute-personality .personality-character-art { background:radial-gradient(circle at 50% 30%,#fff,#edf4ff 68%); }
.cute-personality .personality-character-art > img { width:100%; height:260px; object-fit:contain; filter:drop-shadow(0 12px 12px #5383b422); }
.cute-personality .personality-preset-card { border:1px solid #d7e5f1; border-radius:18px; background:#f8fbff; box-shadow:0 5px 14px #738cab0c; }
.cute-personality .personality-preset-card:nth-child(2) { background:#fff9ef; }
.cute-personality .personality-preset-card:nth-child(3) { background:#f4f1ff; }
.cute-personality .personality-preset-card:nth-child(4) { background:#f0faf7; }
.cute-personality .personality-preset-card.is-selected { border-color:#71a4d7; box-shadow:0 0 0 2px #bddfff,0 8px 20px #8da8c51c; }
.cute-personality .personality-preset-card img { width:74px; height:80px; object-fit:contain; }
.cute-stickers .stickers-cover { border:1px solid #cfdfee; border-radius:27px; background:radial-gradient(circle at 90% 20%,#e8eeff,transparent 55%),linear-gradient(125deg,#edfaff,#fff6e8); box-shadow:0 16px 42px #597c9914; }
.cute-stickers .stickers-cover-stamp { border-radius:50%; border-color:#b4d0ed; background:#fffaf1; color:#58769f; box-shadow:0 7px 18px #708aa314; }
.cute-stickers .sticker-card { overflow:hidden; border:1px solid #d4e1ef; border-radius:23px; box-shadow:0 10px 28px #6f92b314; background:#fffefd; }
.cute-stickers .sticker-card:nth-child(3n+2) { background:#fffafd; }
.cute-stickers .sticker-card:nth-child(3n) { background:#f7fcff; }
.cute-stickers .sticker-card-top { border-color:#dce8f2; }
.cute-stickers .sticker-preview { margin:6px 12px 0; border-radius:18px; background:radial-gradient(circle,#fff 10%,#eef6ff 85%); }
.cute-stickers .sticker-preview img { object-fit:contain; padding:7px; filter:drop-shadow(0 10px 8px #7799bb1a); }
.cute-stickers .stickers-filter { border-color:#d4e2ef; border-radius:999px; box-shadow:none; }
.cute-stickers .stickers-filter.is-active { border-color:#7da6d4; background:#e9f2ff; color:#2d5685; }
.cute-stickers .sticker-dialog { border:1px solid #c7d9eb; border-radius:25px; box-shadow:0 24px 80px #19375f35; }
.cute-stickers .sticker-dialog-image { border-radius:18px; background:radial-gradient(circle,#fff,#edf5ff); }
.platform-page .arrival-portal-hero:has(.arrival-portal-cute) { background:radial-gradient(circle at 79% 36%,#5276a158,transparent 38%),radial-gradient(circle at 85% 90%,#8a73ad44,transparent 42%),linear-gradient(130deg,#0e294b,#213f64 70%,#244668); }
.arrival-portal-hero .arrival-portal-cute { inset:auto 3% 0 auto; width:43%; height:99%; object-fit:contain; object-position:center bottom; z-index:-1; filter:drop-shadow(0 18px 25px #061a3855); }
.arrival-portal-hero:has(.arrival-portal-cute)::before { background:linear-gradient(90deg,#102b4ddd,transparent 68%); z-index:-2; }
.arrival-portal-hero .arrival-portal-copy { position:relative; z-index:1; }
@media(max-width:700px) {
 .cute-persona-intro { padding:20px; gap:16px; grid-template-columns:1fr; }
 .cute-persona-intro h1 { font-size:27px; }
 .cute-persona-intro img { height:190px; }
 .cute-personality .personality-intro { padding:20px; flex-wrap:wrap; }
 .cute-personality .personality-intro > img { width:100%; max-width:none; height:200px; }
 .arrival-portal-hero .arrival-portal-cute { width:75%; height:67%; top:-2%; right:-3%; bottom:auto; opacity:.95; }
 .arrival-portal-hero:has(.arrival-portal-cute)::before { background:linear-gradient(0deg,#102b4dfa 6%,#102b4dc9 31%,transparent 76%); z-index:0; }
}
