/* 全体のリセットと背景設定 */
body {
    margin: 0;
    background: #050510;
    display: flex;
    justify-content: center;
    align-items: center;
    /* 📱 スマホのバーの伸縮を考慮し、本当の画面中央に配置する設定 */
    height: 100vh;
    height: 100dvh; /* 動的ビューポート：スマホのバーを引いた「実際の画面の高さ」 */
    color: #fff;
    font-family: sans-serif;
    overflow: hidden;
    user-select: none;
}

/* メインキャンバスの共通設定 */
canvas {
    background: #01010a;
    border-radius: 50%;
    /* 演出の変化を滑らかにするアニメーション設定 */
    transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.4s ease;

    /* 💻 PC（画面幅が720px以上）の時：720固定で外周（円周）を出す */
    width: 720px;
    height: 720px;
    border: 0px solid #00ffaa;
    box-shadow: 0 0 40px rgba(0, 255, 170, 0.2);
}

/* 🛠️ マウスホバー時：外枠が強烈にオーバーロード発光する演出（PC用） */
canvas:hover {
    border-color: #00ffcc;
    box-shadow: 0 0 60px rgba(0, 255, 200, 0.6), 
                inset 0 0 20px rgba(0, 255, 170, 0.2);
}

/* 📱 スマホ（画面幅が720px未満）の時：外周（円周）を完全に消してレスポンシブ縮小 */
@media (max-width: 720px) {
    canvas {
        border: none;
        box-shadow: none;
        width: 90vw;   /* 画面幅に合わせて自動で縮む（レスポンシブ） */
        height: 90vw;  /* 正円の比率を維持 */
    }
}