Custom CSS is allowed to allow people to create fancy post layouts and/or customize their bio. There are rules for it in the site-wide rules linked on the sidebar, and the FAQ mentions it too. Abusing this ability, for example by modifying the styles of things outside of your post box, is a violation of the site rules and will be dealt with manually (in this case, it's already been dealt with). It's not a perfect system, and it's very different from most forums these days, but users here are used to custom layouts and they aren't too bad to maintain.
ranksets are private because back in the old days, Kieran wanted new ranks to be a surprise, so he kept all information about how many/which ranks each set has private. I'm not sure we still want to do that, but either way, we just haven't changed that since Kieran left. The banners are public... i'm not even sure exactly why, but they give an interesting glimpse into the site's history, and they have no real reason to be private. Anyways, the permissions on every directory are intentional.
I see you're in the discord too. there, AlcaRobot (which is now interfaced by randombot999. it's complicated) has a command that lets you evaluate simple asm, called "!ar eval". You can use it like "!ar eval lda #$ff sta $12 ldx #$12 lda $00,x" (just a random example, not related to your thing). It doesn't emulate any of the SNES-specific parts of the CPU (i.e. the 43xx registers), but it's good for debugging general asm. it shows you the processor state before executing each instruction, so you can see what is going on pretty well. but for debugging smw/snes-specific things, you generally want an emulator with a debugger, like bsnes-plus which was suggested by thomas
that's because of cloudflare's overly aggressive caching. possible solutions:
1) decouple file id's from submission id's and assign each uploaded version a different file id, and include said file id in the download url
2) ?v=2 like you already do for stylesheets (might break shitty downloaders like wget which don't realize query strings aren't part of the filename)
3) include a dummy segment in the download url which is incremented each time the file is changed (kinda a mix of #1 and #2)
4) wipe cache every time someone overwrites a file (extremely hacky and i'm not sure you even can wipe a single cache entry from cloudflare)