@charset "UTF-8";

/* ==========================================================================
   1. DESIGN SYSTEM & VARIABLES (共通の変数・色・フォント)
   ========================================================================== */
:root {
  --bg-main: #0a0d10;
  --bg-panel: #11151a;
  --bg-panel-header: #171d24;
  --bg-accent-hover: #1e252e;
  
  --color-primary: #deff9a;
  --color-text-main: #f1f5f9;
  --color-text-muted: #8a96a3;
  --color-success: #4ade80;
  
  --border-color: rgba(255, 255, 255, 0.04);
  --sidebar-left-width: 260px;
  --sidebar-right-width: 320px;
  --control-bar-height: 70px;
  
  --font-stack: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans JP", sans-serif;
}

/* ==========================================================================
   2. BASE LAYOUT & COMMON (PC・スマホ共通の基本スタイル)
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--bg-main);
  color: var(--color-text-main);
  font-family: var(--font-stack);
  height: 100vh;
  overflow: hidden;
  position: relative;
}

/* カスタムスクロールバー */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--bg-main); }
::-webkit-scrollbar-thumb { background: var(--bg-panel-header); border-radius: 3px; }

/* スマホ用ヘッダーバー（PCではデフォルト非表示） */
.mobile-header {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 56px;
  background-color: var(--bg-panel-header);
  border-bottom: 1px solid var(--border-color);
  z-index: 100;
  padding: 0 16px;
}

.mobile-brand-title {
  line-height: 56px;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  float: left;
}

/* ハンバーガーボタン */
.menu-trigger {
  display: none;
  float: right;
  background: transparent;
  border: none;
  color: var(--color-text-main);
  width: 48px;
  height: 56px;
  cursor: pointer;
  position: relative;
}

.menu-trigger span {
  display: block;
  position: absolute;
  left: 14px;
  width: 20px;
  height: 2px;
  background-color: var(--color-text-main);
  transition: transform 0.3s, opacity 0.3s;
}
.menu-trigger span:nth-child(1) { top: 20px; }
.menu-trigger span:nth-child(2) { top: 27px; }
.menu-trigger span:nth-child(3) { top:
