.crystal-wall {padding:clamp(32px,6vw,88px) max(20px,6vw);background:radial-gradient(ellipse at 15% 0,#741c4555,transparent 60%),linear-gradient(135deg,#220b17,#080609);border-block:1px solid #e9c78570;color:#fff7ed;scroll-margin-top:100px;}
.crystal-wall-heading {max-width:780px;margin:0 auto 32px;text-align:center;}
.crystal-wall .crystal-wall-heading h2 {font:400 clamp(2.5rem,5vw,4.6rem)/1.08 'Italiana',serif;margin:12px 0;color:#ffe6ad;}
.crystal-wall-heading h2 span {font-size:.55em;color:#d5f4ff;}
.crystal-wall p {font-size:1rem;line-height:1.65;}
.crystal-wall-layout {display:grid;grid-template-columns:minmax(270px,380px) minmax(0,1fr);align-items:start;gap:28px;max-width:1200px;margin:auto;}
.crystal-wall-form,.sparkle-card {border:1px solid #d9b87480;border-radius:18px;background:linear-gradient(140deg,#56142d9c,#170c159e);box-shadow:inset 0 1px 0 #ffebc442,0 12px 30px #0005;padding:24px;}
.crystal-wall-form {display:flex;flex-direction:column;gap:10px;}
.crystal-wall-form label,.crystal-wall-form legend {font-size:.9375rem;font-weight:600;}
.crystal-wall-form small {font-weight:400;color:#d9c9cc;margin-left:6px;}
.crystal-wall-form :is(input:not([type=radio]),textarea) {width:100%;box-sizing:border-box;background:#10090f;border:1px solid #a17e69;border-radius:8px;color:#fff;padding:12px;font:inherit;font-size:1rem;}
.crystal-wall-form textarea {resize:vertical;min-height:120px;}
.crystal-wall-form fieldset {border:0;padding:0;margin:8px 0;min-width:0;}
.sparkle-reactions {display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.sparkle-reactions label {position:relative;flex:1;min-width:80px;cursor:pointer;}
.sparkle-reactions input {position:absolute;opacity:0;width:1px;height:1px;}
.sparkle-reactions span {display:block;text-align:center;padding:12px 8px;border:1px solid #bba48a;border-radius:10px;font-size:.875rem;}
.sparkle-reactions input:checked + span {background:#7a2052;color:#fff3cb;border-color:#fff0b9;box-shadow:0 0 12px #ed94c533;}
.sparkle-reactions input:focus-visible + span,.crystal-wall :focus-visible {outline:3px solid #d8f5ff;outline-offset:3px;}
#sparkle-count {text-align:right;font-size:.875rem;color:#d9c9cc;}
.crystal-wall #sparkle-note {font-size:.875rem;color:#e2d0d8;margin:0 0 8px;}
.crystal-wall button {min-height:48px;padding:12px 18px;border-radius:999px;border:1px solid #eed59b;background:linear-gradient(125deg,#902550,#441428);color:#fff6d9;font:600 1rem/1.4 'DM Sans',sans-serif;cursor:pointer;}
.crystal-wall button:disabled {opacity:.6;cursor:wait;}
.crystal-wall-form .sparkle-honey {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
#sparkle-status:empty,#wall-load-status:empty {display:none;}
#sparkle-status {margin:0;}
.crystal-wall-cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.sparkle-card {overflow-wrap:anywhere;position:relative;}
.sparkle-icon {font-size:1.7rem;color:#d8f6ff;}
.sparkle-name {font-size:.875rem;color:#f3dca6;}
.crystal-wall .sparkle-featured {margin:0 0 12px;font-size:.875rem;color:#ffe1a0;}
.sparkle-card.is-featured {border-color:#e9c47d;}
.sparkle-card.is-featured:nth-child(-n+2) {animation:sparkle-glow 7s ease-in-out infinite;}
@keyframes sparkle-glow {50% {box-shadow:inset 0 1px 0 #ffebc47a,0 0 18px #e9c47d30;}}
.pre-release-preview {width:100%;margin:28px 0 0;padding:22px;box-sizing:border-box;background:linear-gradient(135deg,#390d26,#100914);border:1px solid #e9c78599;border-radius:16px;color:#fff3de;}
.album-panel .pre-release-preview h3 {font:400 clamp(2rem,4vw,3rem)/1.1 'Italiana',serif;margin:8px 0 18px;}
.pre-release-frame {width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:#080508;}
.pre-release-frame iframe {display:block;width:100%;height:100%;border:0;}
.pre-release-preview>a {display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;text-decoration:underline;color:#ffe0a2;margin-top:8px;}
.crystal-wall-invite {display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:14px;margin-top:16px;border:1px solid #e9c78580;border-radius:10px;color:#fff0ce;background:#41112a;font-size:1rem;}
.crystal-wall-invite small {font-size:.875rem;}
@media(max-width:800px) {.crystal-wall-layout {grid-template-columns:1fr;}.crystal-wall-cards {grid-template-columns:1fr;}.crystal-wall {padding:40px 18px;}.crystal-wall-form,.sparkle-card {padding:20px;}}
@media(prefers-reduced-motion:reduce) {.sparkle-card.is-featured:nth-child(-n+2) {animation:none;}}
