:root{--ink:#42234d;--muted:#775f80;--pink:#d9237b;--line:#ead9ee}*{box-sizing:border-box}body{margin:0;background:#fffafd;color:var(--ink);font:15px/1.5 system-ui,sans-serif}header,main,footer{max-width:1060px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand img{width:70px;height:70px;object-fit:contain}.brand strong{display:block;font-size:25px;letter-spacing:-1px;color:#983f9c}.brand small{font-size:12px}.tag{border-radius:30px;background:#efe3fa;padding:7px 16px;font-size:13px}main{padding:26px 24px 40px}.intro{display:flex;justify-content:space-between;gap:25px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.6px;color:#a4488d;font-weight:700;margin:0}h1{font-size:29px;letter-spacing:-1px;line-height:1.2;margin:8px 0}.intro p:not(.eyebrow){color:var(--muted);margin:8px 0}.search{min-width:230px}.search span{display:block;font-size:12px;margin-bottom:5px}.search input{width:100%;padding:12px 15px;border:1px solid #d7bedf;border-radius:12px;background:white;color:var(--ink);font:inherit}nav{display:flex;gap:8px;overflow:auto;padding:22px 0 16px}nav button{white-space:nowrap;border:1px solid var(--line);padding:8px 15px;border-radius:24px;background:white;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}nav button[aria-pressed=true]{background:#663776;color:white;border-color:#663776}.custom{display:flex;gap:14px;align-items:center;background:linear-gradient(105deg,#fce6f1,#efe5fb);border-radius:14px;padding:14px 20px}.custom strong{font-size:15px}.custom p{margin:3px 0 0;font-size:13px;max-width:820px}.spark{font-size:30px;color:#a66aab}.line{display:flex;justify-content:space-between;gap:10px;margin:22px 0 12px;font-size:12px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden;text-align:left;color:inherit;cursor:pointer;padding:0;font:inherit;transition:transform .15s,box-shadow .15s}.card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #52285e12}.picture{position:relative;aspect-ratio:1.22;background:#f4eef7;display:block}.picture img{height:100%;width:100%;object-fit:contain}.play{position:absolute;bottom:10px;right:10px;border-radius:30px;background:#fff;padding:5px 10px;font-size:12px}.details{display:block;padding:12px 15px}.details small{font-size:10px;color:var(--muted)}.details strong{display:block;line-height:1.3;font-size:16px;margin:3px 0 8px}.price{font-weight:700;font-size:14px;color:#a31c63}footer{padding:20px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px}a{color:#7a3589}dialog{border:0;border-radius:20px;padding:0;max-width:680px;width:calc(100% - 28px);max-height:90dvh;color:var(--ink);overflow:auto;box-shadow:0 20px 90px #23112d50}dialog::backdrop{background:#291330a8}.close{position:absolute;right:12px;top:12px;z-index:2;border:1px solid var(--line);background:#fff;border-radius:50%;width:40px;height:40px;font-size:28px;cursor:pointer}.media{background:#f4eef7;display:grid;place-items:center}.media img,.media video{display:block;width:100%;max-height:52dvh;object-fit:contain}.info{padding:22px 26px}.info h2{margin:5px 0}.info small,.note{color:var(--muted)}.note{font-size:12px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a761cb;outline-offset:3px}body.modal-open{overflow:hidden}@media(max-width:650px){header{padding:10px 16px}.brand img{width:54px;height:54px}.brand strong{font-size:21px}.brand small{font-size:10px}.tag{font-size:11px;padding:5px 10px}main{padding:20px 16px}.intro{display:block}h1{font-size:25px}.search{margin-top:14px;display:block}.search span{display:none}.custom{padding:12px;gap:9px}.custom p{font-size:12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.details{padding:9px 11px}.details strong{font-size:14px}.picture{aspect-ratio:1}.line{align-items:start}.line small{max-width:150px;text-align:right}.info{padding:20px}footer{gap:15px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.card{transition:none}}
