
        /* --- 基本デザイン設定 --- */
        body {
            font-family: 'Zen Maru Gothic', sans-serif;
            background-color: #F8FAFC;
            background-image: 
                radial-gradient(#E2E8F0 2px, transparent 2px),
                radial-gradient(#E2E8F0 2px, transparent 2px);
            background-size: 32px 32px;
            background-position: 0 0, 16px 16px;
            color: #334155;
            transition: background-color 1s ease, color 0.5s ease;
        }

        /* --- テーマ別スタイル --- */
        /* 夕方 (Sunset) */
        body.theme-sunset {
            background-color: #FFF7ED;
            background-image: 
                radial-gradient(#FED7AA 2px, transparent 2px),
                radial-gradient(#FED7AA 2px, transparent 2px);
        }
        
        /* 夜 / ダークモード (Night) */
        body.theme-night {
            background-color: #0F172A;
            background-image: 
                radial-gradient(#334155 2px, transparent 2px),
                radial-gradient(#334155 2px, transparent 2px);
            color: #E2E8F0;
        }
        
        body.theme-night .glass-panel,
        body.theme-night header,
        body.theme-night .app-card,
        body.theme-night .modal-content,
        body.theme-night #dropdown-menu {
            background-color: rgba(30, 41, 59, 0.95);
            border-color: #334155;
            color: #E2E8F0;
        }
        
        body.theme-night .text-slate-700, 
        body.theme-night .text-slate-800,
        body.theme-night .text-slate-600 {
            color: #E2E8F0;
        }
        
        body.theme-night .text-slate-500,
        body.theme-night .text-slate-400 {
            color: #94A3B8;
        }

        body.theme-night .bg-white {
            background-color: #1E293B;
        }
        
        body.theme-night .bg-slate-50,
        body.theme-night .bg-slate-100 {
            background-color: #334155;
            border-color: #475569;
        }

        /* アプリカード等の微調整 */
        body.theme-night .app-card:hover {
            border-color: #6366f1; /* Indigo-500 */
        }

        .font-pop { font-family: 'M PLUS Rounded 1c', sans-serif; }

        /* --- アニメーション --- */
        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-10px); }
        }
        .animate-float { animation: float 3s ease-in-out infinite; }

        @keyframes pop-in {
            0% { transform: scale(0.9); opacity: 0; }
            100% { transform: scale(1); opacity: 1; }
        }
        .animate-pop { animation: pop-in 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); }

        @keyframes shine {
            0% { left: -100%; }
            100% { left: 100%; }
        }
        .shine-effect::after {
            content: '';
            position: absolute;
            top: 0; left: -100%;
            width: 50%; height: 100%;
            background: linear-gradient(to right, transparent, rgba(255,255,255,0.4), transparent);
            transform: skewX(-25deg);
            animation: shine 3s infinite;
        }

        @keyframes jelly {
            0% { transform: scale(1, 1); }
            30% { transform: scale(1.25, 0.75); }
            40% { transform: scale(0.75, 1.25); }
            50% { transform: scale(1.15, 0.85); }
            65% { transform: scale(0.95, 1.05); }
            75% { transform: scale(1.05, 0.95); }
            100% { transform: scale(1, 1); }
        }
        .animate-jelly {
            animation: jelly 0.5s;
        }

        /* アニメーション停止用クラス */
        body.reduce-motion *, body.reduce-motion *::after, body.reduce-motion *::before {
            animation: none !important;
            transition: none !important;
        }

        /* ガラス風パネルデザイン */
        .glass-panel {
            background: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(12px);
            border: 2px solid rgba(255, 255, 255, 0.5);
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.05);
        }

        /* タブのアクティブ状態 */
        .tab-active {
            background-color: white;
            color: #3B82F6;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
            transform: translateY(-2px);
        }
        body.theme-night .tab-active {
            background-color: #334155;
            color: #60A5FA;
        }
        
        /* 文字サイズ変更用 - 修正版：特定の要素のみ大きくする */
        body.text-large { font-size: 1.1rem; }
        body.text-large #hero-title { font-size: 3.5rem; } 
        body.text-large .app-card p { font-size: 1rem; }

        /* スクロールバーのカスタマイズ */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 4px; }
        ::-webkit-scrollbar-thumb:hover { background: #94A3B8; }
        body.theme-night ::-webkit-scrollbar-thumb { background: #475569; }
    
