/* Craftable v13.7.1 — 🌐 All Challenge Websites (uses challenge.css for the base look) */
.ehead{padding-bottom:8px}.ehead h1{font-size:clamp(28px,5vw,46px);margin:12px 0 8px;letter-spacing:-.02em;line-height:1.08}
.ecount{color:#d9d0ff;font-weight:700;font-size:14px;margin:8px 0 0}
.egrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:20px}
.ecard{border-radius:20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .2s,border-color .2s}
.ecard:hover{transform:translateY(-3px);border-color:rgba(167,139,250,.45)}
.pv{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#1a1430,#2a1438);border-bottom:1px solid rgba(255,255,255,.08)}
.pv .pvframe{position:absolute;left:0;top:0;border:0;transform-origin:0 0;pointer-events:none;background:#fff}
.pv .pvshield{position:absolute;inset:0;z-index:2}
.pvposter{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#a9a4c2;font-size:13px;font-weight:600;padding:0 14px;text-align:center;overflow-wrap:anywhere}
.pvdot{width:8px;height:8px;border-radius:50%;background:#a78bfa;flex:none;animation:pvp 1.2s ease-in-out infinite}
@keyframes pvp{50%{opacity:.25}}
.pv.live::after{content:"LIVE";position:absolute;top:10px;left:10px;z-index:3;font-size:10.5px;font-weight:800;letter-spacing:.06em;padding:3px 8px;border-radius:999px;background:rgba(7,6,12,.72);color:#7dffb0;border:1px solid rgba(125,255,176,.35)}
.pvfb{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#c3bedb;text-align:center;padding:12px}
.pvfb p{margin:0;font-weight:700;font-size:14px}.pvic{font-size:30px;line-height:1}
.pvopen{color:#c9bcff;font-weight:700;font-size:13.5px;text-decoration:none;padding:6px 12px;border-radius:10px;border:1px solid rgba(167,139,250,.4)}
.ebody{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.ebody h3{margin:0;font-size:17px;overflow-wrap:anywhere}
.edesc{margin:0;color:#c3bedb;font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.emeta{display:flex;justify-content:space-between;gap:8px;color:#8f8aa8;font-size:12.5px;margin-top:auto}
.eact{display:flex;gap:8px;flex-wrap:wrap}.eact .btn{flex:1 1 auto}
.eempty{grid-column:1/-1;text-align:center;padding:34px 18px;border-radius:20px;border:1px dashed rgba(255,255,255,.2)}
.eempty.big0 p{margin:8px 0 0;font-size:18px;font-weight:800;color:#fff}.eempty.big0 .muted{font-size:14.5px;font-weight:500;color:#a9a4c2}.eempty a{color:#c9bcff}
.emodal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}
.emodal[hidden]{display:none}
.emback{position:absolute;inset:0;background:rgba(5,4,10,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.embox{position:relative;width:min(1180px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;border-radius:20px;background:#100d1c;border:1px solid rgba(255,255,255,.14);overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.emhead{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:12px 56px 12px 16px;position:relative}
.emmeta{display:flex;gap:10px;font-size:12px;width:100%}.emhead h3{margin:0;font-size:17px;overflow-wrap:anywhere}
.emx{position:absolute;right:10px;top:10px;width:38px;height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font-size:16px;cursor:pointer}
.emframe{position:relative;height:min(70vh,720px);background:#1a1430}
.emframe iframe{width:100%;height:100%;border:0;display:block;background:#fff}
.emfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;flex-wrap:wrap}
body.emopen{overflow:hidden}
@media (max-width:980px){.egrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.egrid{grid-template-columns:1fr}.emodal{padding:0}.embox{max-height:100vh;height:100%;border-radius:0}.emframe{height:auto;flex:1}}
.entries-page header nav{display:flex;gap:8px}.entries-page header nav .btn{white-space:nowrap}.entries-page .ns{display:none}
@media (max-width:560px){header nav .eback{display:inline-flex}.entries-page .nl{display:none}.entries-page .ns{display:inline}}
.entries-page footer a{display:inline-block}
