@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";:root{--color-bg: #000033;--color-surface: #0a0a3a;--color-surface-hover: #12124a;--color-border: #ff00ff;--color-text: #ffffff;--color-text-muted: #cc99ff;--color-primary: #ff00ff;--color-primary-hover: #ff66ff;--color-secondary: #00ffff;--color-accent: #00ff00;--color-error: #ff3333;--color-error-bg: #330000;--radius: 4px;--max-width: 600px;--font-fun: "Comic Sans MS", "Comic Sans", "Chalkboard SE", cursive;--font-pixel: "Press Start 2P", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-fun);background:var(--color-bg);background-image:radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(1px 1px at 30% 60%,rgba(255,255,255,.4) 0%,transparent 100%),radial-gradient(1px 1px at 50% 10%,rgba(255,255,255,.5) 0%,transparent 100%),radial-gradient(1px 1px at 70% 80%,rgba(255,255,255,.3) 0%,transparent 100%),radial-gradient(1px 1px at 90% 40%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(1px 1px at 15% 90%,rgba(255,255,255,.4) 0%,transparent 100%),radial-gradient(1px 1px at 85% 15%,rgba(255,255,255,.5) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 25% 45%,rgba(0,255,255,.4) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 65% 35%,rgba(255,0,255,.3) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 45% 75%,rgba(0,255,0,.3) 0%,transparent 100%);background-size:200px 200px;color:var(--color-text);line-height:1.6;cursor:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><text y='14' font-size='14'>✨</text></svg>"),auto}a{color:var(--color-secondary);text-decoration:underline;font-weight:700}a:hover{color:var(--color-accent);text-shadow:0 0 8px var(--color-accent)}button{cursor:pointer;font-family:var(--font-fun)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}.layout{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:2px dashed var(--color-primary);max-width:var(--max-width);width:100%;margin:0 auto;background:linear-gradient(90deg,#ff00ff1a,#00ffff1a)}.logo{font-family:var(--font-pixel);font-size:.875rem;font-weight:700;color:var(--color-primary);text-shadow:0 0 10px var(--color-primary),0 0 20px var(--color-primary),0 0 40px var(--color-primary);letter-spacing:.05em;animation:glow-pulse 2s ease-in-out infinite alternate}@keyframes glow-pulse{0%{text-shadow:0 0 10px var(--color-primary),0 0 20px var(--color-primary)}to{text-shadow:0 0 15px var(--color-primary),0 0 30px var(--color-primary),0 0 50px var(--color-primary)}}.logo:hover{text-decoration:none;color:var(--color-secondary);text-shadow:0 0 10px var(--color-secondary),0 0 20px var(--color-secondary),0 0 40px var(--color-secondary)}.nav-right{display:flex;align-items:center;gap:.75rem}.nav-link{font-size:.8rem;color:var(--color-secondary);font-weight:700}.nav-link:hover{color:var(--color-accent);text-shadow:0 0 8px var(--color-accent)}.nav-button{font-size:.8rem;background:transparent;border:1px solid var(--color-secondary);color:var(--color-secondary);padding:.3rem .6rem;border-radius:var(--radius);text-transform:uppercase;font-weight:700;letter-spacing:.05em}.nav-button:hover{background:var(--color-secondary);color:var(--color-bg);box-shadow:0 0 12px var(--color-secondary)}.main{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:1.5rem 1rem}.error{background:var(--color-error-bg);color:var(--color-error);padding:.75rem 1rem;border:1px dashed var(--color-error);border-radius:var(--radius);font-size:.875rem;margin-bottom:1rem}.auth-page{max-width:360px;margin:0 auto}.auth-page h1{font-family:var(--font-pixel);font-size:1rem;margin-bottom:1.5rem;color:var(--color-secondary);text-shadow:0 0 10px var(--color-secondary);text-align:center}.auth-page form{display:flex;flex-direction:column;gap:1rem;border:2px dashed var(--color-primary);padding:1.5rem;border-radius:var(--radius);background:#0a0a3acc}.auth-page label{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;color:var(--color-text-muted)}.auth-page input{padding:.625rem .75rem;border-radius:var(--radius);border:1px solid var(--color-primary);background:#00001ecc;color:var(--color-text);font-size:1rem;font-family:var(--font-fun)}.auth-page input:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 8px var(--color-secondary)}.auth-page button[type=submit]{padding:.75rem;border-radius:var(--radius);border:2px solid var(--color-primary);background:linear-gradient(135deg,var(--color-primary),#6600cc);color:#fff;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-top:.5rem}.auth-page button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-hover),#9933ff);box-shadow:0 0 15px var(--color-primary)}.auth-page button[type=submit]:disabled{opacity:.4}.auth-link{margin-top:1.5rem;text-align:center;font-size:.875rem;color:var(--color-text-muted)}.city-page{text-align:center}.city-page h1{font-family:var(--font-pixel);font-size:.875rem;margin-bottom:.75rem;color:var(--color-accent);text-shadow:0 0 10px var(--color-accent)}.city-page p{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:.875rem}.city-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.city-card{padding:1rem .75rem;border-radius:var(--radius);border:2px solid var(--color-primary);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-weight:700;transition:all .2s}.city-card:hover:not(:disabled){border-color:var(--color-secondary);background:var(--color-surface-hover);box-shadow:0 0 15px var(--color-secondary);transform:scale(1.03)}.city-card:disabled{opacity:.4}.feed-page .empty{text-align:center;color:var(--color-text-muted);padding:3rem 0;font-style:italic}.thread-list{display:flex;flex-direction:column;gap:.75rem}.thread-card{display:block;padding:.875rem 1rem;border-radius:var(--radius);border:1px solid var(--color-primary);background:var(--color-surface);color:var(--color-text);transition:all .2s}.thread-card:hover{border-color:var(--color-secondary);text-decoration:none;box-shadow:0 0 12px #00ffff4d;transform:translate(3px)}.thread-body{margin-bottom:.5rem;word-break:break-word}.thread-meta{display:flex;gap:.5rem;font-size:.75rem;color:var(--color-text-muted)}.thread-meta span+span:before{content:"·";margin-right:.5rem}.meta-user{color:var(--color-secondary);font-weight:700}.meta-user a{color:var(--color-secondary);text-decoration:none;font-weight:700}.meta-user a:hover{color:var(--color-accent);text-shadow:0 0 8px var(--color-accent);text-decoration:underline}.new-thread-form,.new-reply-form{margin-bottom:1.25rem}.new-thread-form textarea,.new-reply-form textarea{width:100%;min-height:70px;padding:.75rem;border-radius:var(--radius);border:1px solid var(--color-primary);background:#00001ecc;color:var(--color-text);font-size:.9375rem;font-family:var(--font-fun);resize:vertical}.new-thread-form textarea:focus,.new-reply-form textarea:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 8px var(--color-secondary)}.form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.char-count{font-size:.75rem;color:var(--color-text-muted)}.form-footer button{padding:.5rem 1.25rem;border-radius:var(--radius);border:2px solid var(--color-accent);background:transparent;color:var(--color-accent);font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.form-footer button:hover:not(:disabled){background:var(--color-accent);color:var(--color-bg);box-shadow:0 0 12px var(--color-accent)}.form-footer button:disabled{opacity:.4}.thread-page .back-link{display:inline-block;font-size:.875rem;margin-bottom:1rem;color:var(--color-text-muted)}.thread-page .back-link:hover{color:var(--color-secondary);text-shadow:0 0 6px var(--color-secondary)}.thread-detail{padding:1rem;border-radius:var(--radius);border:2px solid var(--color-primary);background:var(--color-surface);margin-bottom:1.25rem;box-shadow:0 0 10px #ff00ff26}.thread-page h2{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.75rem}.reply-list{display:flex;flex-direction:column;gap:2px}.reply-card{padding:.5rem .75rem;border-left:3px solid var(--color-primary);background:var(--color-surface)}.reply-card:nth-child(2n){border-left-color:var(--color-secondary)}.reply-body{margin-bottom:.25rem;word-break:break-word;font-size:.9375rem}.reply-meta{display:flex;gap:.5rem;font-size:.7rem;color:var(--color-text-muted)}.reply-meta span+span:before{content:"·";margin-right:.5rem}.user-page .back-link{display:inline-block;font-size:.875rem;margin-bottom:1rem;color:var(--color-text-muted)}.user-page .back-link:hover{color:var(--color-secondary);text-shadow:0 0 6px var(--color-secondary)}.user-page h1{font-family:var(--font-pixel);font-size:1rem;color:var(--color-secondary);text-shadow:0 0 10px var(--color-secondary);margin-bottom:1.25rem}.user-page h2{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.75rem;margin-top:1.25rem}.reply-thread-group{margin-bottom:1rem}.reply-thread-header{display:block;padding:.625rem .875rem;border-radius:var(--radius);border:1px dashed var(--color-primary);background:#0a0a3a99;color:var(--color-text-muted);font-size:.875rem;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;transition:all .2s}.reply-thread-header:hover{border-color:var(--color-secondary);color:var(--color-secondary);text-decoration:none;box-shadow:0 0 8px #00ffff40}.footer{text-align:center;padding:1.5rem 1rem;border-top:1px dashed var(--color-primary);max-width:var(--max-width);width:100%;margin:0 auto}.footer a{font-size:.75rem;color:var(--color-text-muted);text-decoration:none}.footer a:hover{color:var(--color-secondary);text-shadow:0 0 6px var(--color-secondary)}.privacy-page{max-width:var(--max-width);margin:0 auto}.privacy-page h1{font-family:var(--font-pixel);font-size:1rem;color:var(--color-secondary);text-shadow:0 0 10px var(--color-secondary);margin-bottom:.5rem}.privacy-page .effective-date{font-size:.8rem;color:var(--color-text-muted);margin-bottom:1.5rem;font-style:italic}.privacy-page h2{font-size:.9rem;color:var(--color-primary);margin-top:1.5rem;margin-bottom:.5rem}.privacy-page p{font-size:.875rem;color:var(--color-text);line-height:1.7;margin-bottom:.75rem}.privacy-page ul{list-style:none;padding-left:0;margin-bottom:.75rem}.privacy-page ul li{font-size:.875rem;color:var(--color-text);line-height:1.7;padding-left:1.25rem;position:relative;margin-bottom:.25rem}.privacy-page ul li:before{content:"▸";color:var(--color-primary);position:absolute;left:0}@media(min-width:768px){.city-grid{grid-template-columns:1fr 1fr 1fr}}
