:root { --gold: #d4af37; --bg: #0b0b0b; --red: #ff0000; }
body { margin: 0; background: var(--bg); color: #fff; font-family: sans-serif; overflow-x: hidden; }

/* ナビゲーション */
nav { position: fixed; top: 0; width: 100%; height: 60px; display: flex; justify-content: space-between; align-items: center; padding: 0 20px; background: rgba(0,0,0,0.9); z-index: 2000; box-sizing: border-box; }
.site-logo { color: var(--gold); font-weight: bold; text-decoration: none; }
.nav-item { background: none; border: none; color: #ccc; cursor: pointer; padding: 10px; font-size: 14px; }
.nav-item:hover { color: var(--gold); }

/* ドロップダウン */
.nav-dropdown { position: relative; }
.dropdown-content { display: none; position: absolute; background: rgba(0,0,0,0.95); min-width: 160px; border: 1px solid var(--gold); top: 100%; }
.nav-dropdown:hover .dropdown-content { display: block; }
.dropdown-content a { color: #fff; padding: 12px; text-decoration: none; display: block; cursor: pointer; }

/* サイドメニュー */
.side-menu { position: fixed; top: 0; left: -280px; width: 280px; height: 100%; background: #111; z-index: 3000; transition: 0.4s; padding: 80px 20px; box-sizing: border-box; }
.side-menu.open { left: 0; }
.side-menu a { display: block; color: white; padding: 15px 0; border-bottom: 1px solid #333; text-decoration: none; }
#menu-overlay { display: none; position: fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.7); z-index: 2500; }

/* アイコンが降るアニメーション */
.rain-icon { position: fixed; top: -60px; width: 50px; animation: fall linear forwards, spin 2s linear infinite; z-index: 5000; pointer-events: none; }
@keyframes fall { to { transform: translateY(110vh); } }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* 白い画面モーダル */
#modal-overlay { display: none; position: fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.85); z-index: 4000; align-items: center; justify-content: center; }
.modal-content { background: #fff; color: #333; width: 90%; height: 85vh; border-radius: 15px; display: flex; overflow: hidden; }
.modal-body { display: flex; width: 100%; }
.modal-left { flex: 1.6; background: #000; }
.modal-right { flex: 1; padding: 30px; overflow-y: auto; color: #333; }
.m-title { font-size: 26px; font-weight: bold; color: var(--gold); margin-bottom: 20px; }

/* Discord風 */
.spoiler { background: #222; color: #222; cursor: pointer; border-radius: 3px; }
.spoiler.revealed { background: transparent; color: inherit; }
pre { background: #2f3136; color: white; padding: 15px; border-radius: 8px; }

/* 管理者専用 */
.admin-panel { padding: 100px 50px; }
.admin-card { background: #222; padding: 20px; border-radius: 10px; border: 1px solid var(--gold); margin-bottom: 20px; }