*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#0f1113;color:#e8e8e8}
a{color:#7cc4ff;overflow-wrap:anywhere}img,iframe,video{max-width:100%;height:auto}
header{position:sticky;top:0;background:#16181c;padding:10px 12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;z-index:10}
header h1{font-size:20px;margin:0;flex:1 1 180px}
header input[type=search]{flex:1 1 200px;min-width:0;padding:10px;font-size:16px;border-radius:8px;border:1px solid #444;background:#222;color:#fff}
button{padding:10px 14px;font-size:16px;border-radius:8px;border:0;background:#2a7fff;color:#fff;cursor:pointer}
button.secondary{background:#333}
.layout{display:flex;gap:16px;max-width:1440px;margin:0 auto;padding:12px;width:100%}
.feed{flex:1 1 0;min-width:0}
.rail{flex:0 0 280px;min-width:0}
.card{background:#1a1d21;border:1px solid #2c2f34;border-radius:12px;padding:14px;margin-bottom:12px;overflow-wrap:anywhere;transition:border-color .2s,transform .2s}
.card:hover{border-color:#4a6fa5}
.card h3{font-size:19px;line-height:1.3}
.replies{margin-top:10px;padding-left:12px;border-left:3px solid #2a7fff}
.video-card iframe{width:100%;aspect-ratio:16/9;height:auto;display:block;border:0;border-radius:8px}
.replies p{margin:6px 0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.chips button{background:#222;border:1px solid #444}
.chips button.active{background:#2a7fff}
label{display:block;margin:8px 0 4px}
input,select,textarea{width:100%;max-width:100%;padding:10px;font-size:16px;border-radius:8px;border:1px solid #444;background:#222;color:#fff}
textarea{min-height:80px}
.banner{background:#3a2a00;border:1px solid #8a6d00;padding:10px 12px;border-radius:8px;margin-bottom:12px}
.progress{height:12px;background:#222;border:1px solid #444;border-radius:8px;overflow:hidden;margin:8px 0}
.progress>div{height:100%;background:#2a7fff;transition:width .6s ease}
.milestone{display:inline-block;background:#3a2a00;border:1px solid #8a6d00;border-radius:8px;padding:2px 8px;margin-left:8px}
.celebration{background:#12351f;border-color:#2e7d32}
.wizard-step{display:none}.wizard-step.active{display:block}
@media (max-width:1023px){.rail{display:none}.layout{flex-direction:column}}
@media (max-width:720px){header h1{font-size:18px}.layout{padding:8px}.card{padding:12px}button{padding:12px 14px}}
@media (max-width:400px){header{padding:8px}header input[type=search]{font-size:16px}}
