:root { color-scheme: light dark; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; margin:0; background:#0b0f16; color:#e8eefc; }
.wallpaper { background-size: cover; background-attachment: fixed; background-position: center; }
a { color:#8fd3ff; text-decoration:none; }
a:hover { text-decoration:underline; }
.wrap { max-width: 1000px; margin: 18px auto; padding: 0 12px; }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:12px; background:rgba(0,0,0,.55); backdrop-filter: blur(6px); position:sticky; top:0; }
.brand { display:flex; gap:10px; align-items:center; }
.logo { width:40px; height:40px; object-fit:contain; border-radius:10px; background:rgba(255,255,255,.06); padding:6px; }
.title { font-weight: 800; }
.sub { font-size: 12px; opacity:.85; }
.nav a { margin-left: 10px; font-size: 14px; }
.card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10); border-radius: 16px; padding: 14px; margin: 12px 0; box-shadow: 0 6px 18px rgba(0,0,0,.25); }
.grid { display:grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 860px){ .grid { grid-template-columns: 1fr 1fr; } }
label { display:block; margin-top: 10px; font-weight: 650; }
input, textarea, select { width:100%; padding:10px; border-radius:12px; border:1px solid rgba(255,255,255,.14); background: rgba(0,0,0,.20); color:inherit; }
button, .btn { display:inline-block; padding:10px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.10); color:inherit; cursor:pointer; margin-top: 10px; }
button:hover, .btn:hover { background: rgba(255,255,255,.16); }
.linkbtn { background:none; border:none; color:#ffb3b3; cursor:pointer; padding:0; margin:0; }
.notice { padding: 10px; border-radius: 12px; background: rgba(120, 255, 190, .12); border: 1px solid rgba(120, 255, 190, .25); }
.error { padding: 10px; border-radius: 12px; background: rgba(255, 120, 120, .12); border: 1px solid rgba(255, 120, 120, .25); }
.muted { opacity:.75; font-size: 13px; }
.photos { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.photo img { width:100%; height:auto; border-radius: 12px; border:1px solid rgba(255,255,255,.14); }
.chatlog { height: 50vh; overflow:auto; background: rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 10px; }
.chatline { padding:6px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.chatbar { display:flex; gap:8px; margin-top: 10px; }
.chatbar input { flex:1; }
.msgs .msg { padding: 10px; border-bottom: 1px solid rgba(255,255,255,.06); }
hr { border: none; border-top: 1px solid rgba(255,255,255,.12); margin: 16px 0; }
