        * {
            user-select: none;
            -webkit-user-select: none;
            box-sizing: border-box;
            touch-action: manipulation;
        }
        html, body {
            width: 100%;
            max-width: 100%;
            height: 100%;
            height: 100dvh;
            margin: 0;
            padding: 0;
            overflow: hidden;
            position: fixed;
            inset: 0;
            box-sizing: border-box;
            overscroll-behavior: none;
            -webkit-overflow-scrolling: touch;
        }
        body {
            font-family: 'Shippori Mincho', 'Sawarabi Mincho', serif;
            background-color: #0b0c10;
            color: #f8fafc;
        }

        /* 和風背景テクスチャ */
        .washi-bg {
            background-color: #0d0f17;
            background-image: 
                radial-gradient(rgba(245, 158, 11, 0.04) 1px, transparent 0),
                radial-gradient(rgba(225, 29, 72, 0.03) 2px, transparent 0);
            background-size: 20px 20px, 40px 40px;
        }

        /* 和風木枠・金箔フレーム */
        .gold-border {
            border: 2px solid #d97706;
            box-shadow: 0 0 10px rgba(217, 119, 6, 0.3), inset 0 0 8px rgba(217, 119, 6, 0.2);
        }

        .gold-glow {
            filter: drop-shadow(0 0 8px rgba(251, 191, 36, 0.6));
        }

        .red-glow {
            filter: drop-shadow(0 0 8px rgba(239, 68, 68, 0.6));
        }

        /* ── シネマティック演出用レターボックス ── */
        .cinematic-bar-top {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 0;
            background-color: #000000;
            z-index: 60;
            transition: height 0.6s cubic-bezier(0.16, 1, 0.3, 1);
            pointer-events: none;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.8);
        }
        .cinematic-bar-bottom {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 0;
            background-color: #000000;
            z-index: 60;
            transition: height 0.6s cubic-bezier(0.16, 1, 0.3, 1);
            pointer-events: none;
            box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.8);
        }
        .cinematic-active .cinematic-bar-top,
        .cinematic-active .cinematic-bar-bottom {
            height: 12vh;
        }

        /* ── バーチャルジョイスティック ── */
        #field-joystick-container {
            width: 76px;
            height: 76px;
            background: rgba(15, 23, 42, 0.55);
            border: 2px solid rgba(245, 158, 11, 0.5);
            border-radius: 50%;
            position: absolute;
            bottom: 20px;
            left: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            touch-action: none;
            z-index: 35;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.7);
        }
        #field-joystick-knob {
            width: 34px;
            height: 34px;
            background: radial-gradient(circle, #f59e0b 0%, #b45309 100%);
            border: 2px solid #fef08a;
            border-radius: 50%;
            position: absolute;
            box-shadow: 0 2px 8px rgba(0,0,0,0.6);
            pointer-events: none;
        }

        /* 和風カードスタイル */
        /* 和風本格TCGカードスタイル */
        .card-wood {
            position: relative;
            background-color: #120e0c;
            background-size: cover;
            background-position: center top;
            background-repeat: no-repeat;
            border: 2px solid #d97706;
            border-radius: 12px;
            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.85), inset 0 0 0 1px rgba(254, 240, 138, 0.4), 0 0 6px rgba(0, 0, 0, 0.5);
            transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            cursor: pointer;
            overflow: hidden;
            user-select: none;
        }

        /* 和風の金箔飾り枠と四隅金具風エフェクト */
        .card-wood::before {
            content: '';
            position: absolute;
            inset: 2px;
            border: 1px solid rgba(245, 158, 11, 0.35);
            border-radius: 9px;
            pointer-events: none;
            z-index: 5;
        }

        .card-wood:hover:not(.disabled) {
            transform: translateY(-26px) scale(1.14);
            z-index: 40;
            border-color: #fbbf24;
            box-shadow: 0 16px 32px rgba(0, 0, 0, 0.9), 0 0 20px rgba(245, 158, 11, 0.6), inset 0 0 12px rgba(251, 191, 36, 0.4);
        }

        .card-wood.selected {
            transform: translateY(-32px) scale(1.2);
            z-index: 50;
            border-color: #ef4444;
            box-shadow: 0 18px 36px rgba(0, 0, 0, 0.95), 0 0 28px rgba(239, 68, 68, 0.85), inset 0 0 16px rgba(248, 113, 113, 0.5);
            animation: cardSelectedPulse 1.8s infinite alternate ease-in-out;
        }

        @keyframes cardSelectedPulse {
            0% { box-shadow: 0 18px 36px rgba(0, 0, 0, 0.95), 0 0 20px rgba(239, 68, 68, 0.7); }
            100% { box-shadow: 0 20px 40px rgba(0, 0, 0, 0.95), 0 0 32px rgba(245, 158, 11, 0.95); }
        }

        /* 術式札専用フレーム */
        .card-wood.spell {
            border-color: #8b5cf6;
            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.85), inset 0 0 0 1px rgba(196, 181, 253, 0.4), 0 0 8px rgba(139, 92, 246, 0.3);
        }

        .card-wood.spell::before {
            border-color: rgba(167, 139, 250, 0.4);
        }

        .card-wood.spell:hover:not(.disabled) {
            border-color: #a78bfa;
            box-shadow: 0 16px 32px rgba(0, 0, 0, 0.9), 0 0 22px rgba(139, 92, 246, 0.65), inset 0 0 12px rgba(167, 139, 250, 0.45);
        }

        /* カードの属性別グロー */
        .card-type-oni { border-color: #ef4444 !important; }
        .card-type-tsukumo { border-color: #f59e0b !important; }
        .card-type-spirit { border-color: #10b981 !important; }
        .card-type-beast { border-color: #06b6d4 !important; }
        .card-type-yokai { border-color: #a855f7 !important; }

        /* 霊力コスト宝珠 */
        .card-cost-gem {
            background: radial-gradient(circle at 35% 30%, #60a5fa 0%, #1e40af 60%, #0f172a 100%);
            border: 1.5px solid #fef08a;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.7), inset 0 1px 1px rgba(255, 255, 255, 0.7), 0 0 6px rgba(59, 130, 246, 0.8);
        }

        /* 霊力オーブ */
        .mana-orb {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: radial-gradient(circle at 35% 35%, #93c5fd, #2563eb 60%, #1d4ed8);
            box-shadow: 0 0 6px #3b82f6;
            display: inline-block;
            transition: all 0.2s;
            flex-shrink: 0;
        }
        @media (min-width: 640px) {
            .mana-orb {
                width: 13px;
                height: 13px;
                box-shadow: 0 0 8px #3b82f6;
            }
        }
        .mana-orb.empty {
            background: #334155;
            box-shadow: none;
            opacity: 0.35;
        }
        .mana-orb.bonus {
            background: radial-gradient(circle at 35% 35%, #fef08a, #f59e0b 60%, #b45309);
            box-shadow: 0 0 8px #fbbf24;
        }

        /* スロットUI（3Dモデル足元・高視認性2段バッジ） */
        .slot-pill {
            touch-action: manipulation;
            -webkit-touch-callout: none;
            -webkit-user-select: none;
            user-select: none;
            box-sizing: border-box;
            border-radius: 9px;
            padding: 2px 4px;
            z-index: 15;
            transition: all 0.15s ease-out;
            min-width: 68px;
            max-width: 78px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }
        .slot-pill.slot-empty {
            border-radius: 9999px;
            min-width: 52px;
            max-width: 66px;
            padding: 2px 8px;
            background: rgba(10, 15, 25, 0.6);
            border: 1px dashed rgba(255, 255, 255, 0.35);
            backdrop-filter: blur(3px);
        }
        .slot-pill.slot-occupied {
            background: rgba(7, 12, 22, 0.94);
            border: 1.5px solid rgba(56, 189, 248, 0.8);
            backdrop-filter: blur(6px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.85);
        }
        #slot-e-0.slot-occupied, #slot-e-1.slot-occupied, #slot-e-2.slot-occupied, #slot-e-3.slot-occupied {
            border-color: rgba(248, 113, 113, 0.85);
        }

        /* 攻撃力・体力の高コントラスト・独立ステータスバッジ（絶対に重ならずクッキリ見える） */
        .stat-pill {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 1.5px;
            padding: 1px 4.5px;
            border-radius: 4px;
            font-size: 11px;
            font-weight: 900;
            line-height: 1.1;
            white-space: nowrap;
            letter-spacing: -0.02em;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
        }
        .stat-pill-atk {
            background: rgba(120, 53, 15, 0.85);
            border: 1px solid rgba(245, 158, 11, 0.9);
            color: #fef08a;
            text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9);
        }
        .stat-pill-hp {
            background: rgba(159, 18, 57, 0.85);
            border: 1px solid rgba(244, 63, 94, 0.9);
            color: #fecdd3;
            text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9);
        }

        /* 筆文字風ボタンスタイル */
        .btn-calligraphy {
            background: linear-gradient(135deg, #b91c1c 0%, #7f1d1d 100%);
            border: 2px solid #ef4444;
            color: #fff;
            text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
            box-shadow: 0 4px 15px rgba(185, 28, 28, 0.4);
            transition: all 0.2s;
            touch-action: manipulation;
        }
        .btn-calligraphy:hover:not(:disabled) {
            background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%);
            box-shadow: 0 6px 20px rgba(220, 38, 38, 0.6);
            transform: translateY(-2px);
        }
        .btn-calligraphy:active:not(:disabled) {
            transform: translateY(1px);
        }
        .btn-calligraphy:disabled {
            opacity: 0.5;
            cursor: not-allowed;
            filter: grayscale(0.8);
        }

        /* アニメーション用キーフレーム */
        @keyframes pulse-gold {
            0%, 100% { box-shadow: 0 0 10px rgba(245, 158, 11, 0.6); border-color: #f59e0b; }
            50% { box-shadow: 0 0 20px rgba(245, 158, 11, 0.95); border-color: #fbbf24; }
        }
        .highlight-slot {
            animation: pulse-gold 1.1s infinite;
            border: 1.5px solid #f59e0b !important;
            background: rgba(245, 158, 11, 0.25) !important;
        }

        /* スクロールバー非表示（手札用） */
        .no-scrollbar::-webkit-scrollbar {
            display: none;
        }
        .no-scrollbar {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        /* フッター内カード詳細ビュー */
        .footer-detail-drawer {
            background: linear-gradient(135deg, rgba(20, 15, 28, 0.96) 0%, rgba(10, 12, 20, 0.98) 100%);
            border: 1.5px solid #d97706;
            box-shadow: 0 0 16px rgba(217, 119, 6, 0.35);
        }

        /* カード拡大プレビューパネル */
        .card-detail-drawer {
            transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease-out;
        }

        /* カスタムスクロールバー（モーダル等用） */
        ::-webkit-scrollbar {
            width: 4px;
        }
        ::-webkit-scrollbar-track {
            background: rgba(15, 23, 42, 0.6);
        }
        ::-webkit-scrollbar-thumb {
            background: #d97706;
            border-radius: 2px;
        }

        /* ── 効果発動トーストアニメーション ── */
        @keyframes abilityToastEnter {
            0% {
                opacity: 0;
                transform: translateY(-22px) scale(0.88);
            }
            60% {
                opacity: 1;
                transform: translateY(3px) scale(1.03);
            }
            100% {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }
        @keyframes abilityToastExit {
            0% {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
            100% {
                opacity: 0;
                transform: translateY(-18px) scale(0.92);
            }
        }
        .ability-toast {
            animation: abilityToastEnter 0.28s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
            will-change: transform, opacity;
        }
        .ability-toast.toast-exit {
            animation: abilityToastExit 0.25s ease-in forwards;
        }

        /* ── 画面フラッシュ発光 ── */
        @keyframes screenFlashAnim {
            0% { opacity: 0; }
            25% { opacity: 0.85; }
            100% { opacity: 0; }
        }
        .screen-flash-active {
            animation: screenFlashAnim 0.5s ease-out forwards;
        }

        /* ── デッキ編成カードタイル ── */
        #deck-builder-grid {
            grid-auto-rows: min-content;
            align-content: start;
        }
        .deck-card-tile {
            background: linear-gradient(145deg, #18121f 0%, #0d0e16 100%);
            border: 1.5px solid rgba(217, 119, 6, 0.35);
            transition: all 0.18s ease-out;
            touch-action: manipulation;
            min-height: 104px;
            height: auto;
        }
        @media (min-width: 640px) {
            .deck-card-tile {
                min-height: 114px;
            }
        }
        .deck-card-tile:hover {
            border-color: #f59e0b;
            transform: translateY(-2px);
            box-shadow: 0 4px 14px rgba(245, 158, 11, 0.25);
        }
        .deck-card-tile.in-deck-1 {
            border-color: #f59e0b;
            background: linear-gradient(145deg, #2b1d0c 0%, #16121f 100%);
        }
        .deck-card-tile.in-deck-2 {
            border-color: #fbbf24;
            background: linear-gradient(145deg, #3d280d 0%, #201729 100%);
            box-shadow: 0 0 10px rgba(251, 191, 36, 0.35);
        }

        /* ========================================================================= */
        /* ─── 和風漆塗り・金箔蒔絵・絵巻調 リッチUIスタイル ─── */
        /* ========================================================================= */

        /* 1. 黒漆・蒔絵モーダルフレーム（ショップ・絵巻・設定など） */
        .urushi-frame {
            position: relative;
            background: 
                /* 金箔砂子（微細な金粉の散らし） */
                radial-gradient(1.5px 1.5px at 15% 18%, rgba(254, 240, 138, 0.45) 0%, transparent 100%),
                radial-gradient(1.5px 1.5px at 82% 28%, rgba(245, 158, 11, 0.4) 0%, transparent 100%),
                radial-gradient(2px 2px at 28% 82%, rgba(251, 191, 36, 0.35) 0%, transparent 100%),
                radial-gradient(1.5px 1.5px at 75% 78%, rgba(254, 240, 138, 0.4) 0%, transparent 100%),
                /* 蒔絵の雲霞 */
                radial-gradient(ellipse at top left, rgba(217, 119, 6, 0.18) 0%, transparent 60%),
                radial-gradient(ellipse at bottom right, rgba(147, 51, 234, 0.12) 0%, transparent 60%),
                linear-gradient(155deg, #1d1417 0%, #0a080b 45%, #130f16 100%);
            border: 2.5px solid #d97706;
            box-shadow: 
                0 20px 50px rgba(0, 0, 0, 0.95),
                inset 0 0 0 1px rgba(254, 240, 138, 0.45),
                inset 0 2px 6px rgba(254, 240, 138, 0.3),
                inset 0 -25px 50px rgba(0, 0, 0, 0.75),
                0 0 22px rgba(217, 119, 6, 0.3);
        }

        /* 四隅の金箔金具風ライン */
        .urushi-frame::before {
            content: '';
            position: absolute;
            inset: 4px;
            border: 1px solid rgba(245, 158, 11, 0.32);
            border-radius: inherit;
            pointer-events: none;
            z-index: 1;
        }

        /* 合戦フェーズ進行バナー（金箔蒔絵短冊） */
        #phase-banner {
            background: 
                radial-gradient(circle at 50% 50%, rgba(245, 158, 11, 0.25) 0%, transparent 70%),
                linear-gradient(90deg, 
                    transparent 0%, 
                    rgba(15, 10, 14, 0.95) 15%, 
                    #22121b 50%, 
                    rgba(15, 10, 14, 0.95) 85%, 
                    transparent 100%) !important;
            border-top: 2px solid #d97706 !important;
            border-bottom: 2px solid #d97706 !important;
            box-shadow: 
                0 10px 35px rgba(0, 0, 0, 0.95),
                0 0 25px rgba(217, 119, 6, 0.45),
                inset 0 1px 0 rgba(254, 240, 138, 0.7),
                inset 0 -1px 0 rgba(254, 240, 138, 0.7);
        }

        /* 2. 和風木札・扁額バッジ（エリア名など） */
        .wood-tablet {
            background: 
                radial-gradient(circle at 50% 0%, rgba(245, 158, 11, 0.2) 0%, transparent 70%),
                linear-gradient(180deg, #2e150a 0%, #150a04 50%, #220f06 100%);
            border: 1.5px solid #d97706;
            box-shadow: 
                0 4px 14px rgba(0, 0, 0, 0.8),
                inset 0 1px 1px rgba(254, 240, 138, 0.5),
                inset 0 -2px 5px rgba(0, 0, 0, 0.85);
            position: relative;
        }
        .wood-tablet::before {
            content: '';
            position: absolute;
            inset: 2px;
            border: 1px solid rgba(245, 158, 11, 0.35);
            border-radius: inherit;
            pointer-events: none;
        }

        /* 3. 絵巻物・巻軸風バッジ（現在目標など） */
        .scroll-badge {
            background: 
                radial-gradient(circle at 100% 50%, rgba(217, 119, 6, 0.18) 0%, transparent 45%),
                linear-gradient(90deg, #23163e 0%, #161028 50%, #20133a 100%);
            border: 1.5px solid #8b5cf6;
            box-shadow: 
                0 4px 14px rgba(0, 0, 0, 0.8),
                inset 0 0 18px rgba(139, 92, 246, 0.25),
                inset 0 1px 1px rgba(196, 181, 253, 0.4);
            position: relative;
        }
        .scroll-badge::before {
            content: '';
            position: absolute;
            left: 0;
            top: 15%;
            bottom: 15%;
            width: 3.5px;
            background: linear-gradient(180deg, #fef08a, #f59e0b, #b45309);
            border-radius: 2px;
            box-shadow: 0 0 8px rgba(245, 158, 11, 0.8);
        }

        /* 4. 朱漆 × 金泥の重厚なアクションボタン（話す、調べる等） */
        .btn-action-urushi {
            background: linear-gradient(180deg, #dc2626 0%, #a81c1c 45%, #7f1d1d 100%);
            border: 2px solid #fbbf24;
            color: #fff;
            box-shadow: 
                0 6px 20px rgba(0, 0, 0, 0.85),
                0 0 14px rgba(220, 38, 38, 0.5),
                inset 0 1px 2px rgba(254, 240, 138, 0.8),
                inset 0 -2px 6px rgba(0, 0, 0, 0.7);
            text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
            transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
            position: relative;
        }
        .btn-action-urushi:hover {
            background: linear-gradient(180deg, #ef4444 0%, #b91c1c 45%, #881b1b 100%);
            border-color: #fef08a;
            box-shadow: 
                0 8px 26px rgba(0, 0, 0, 0.9),
                0 0 20px rgba(239, 68, 68, 0.75),
                inset 0 1px 3px rgba(254, 240, 138, 1);
            transform: translateY(-2px);
        }
        .btn-action-urushi:active {
            transform: translateY(1px);
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.9);
        }

        /* 5. 妖札問屋（ショップ）の紫檀・飾り棚風カードタイル */
        .shop-shelf-tile {
            background: 
                radial-gradient(ellipse at top, rgba(245, 158, 11, 0.08) 0%, transparent 70%),
                linear-gradient(160deg, #1f1715 0%, #120e0d 60%, #1a1311 100%);
            border: 1.5px solid rgba(217, 119, 6, 0.55);
            border-radius: 12px;
            box-shadow: 
                0 4px 14px rgba(0, 0, 0, 0.85),
                inset 0 0 0 1px rgba(254, 240, 138, 0.18),
                inset 0 2px 4px rgba(0, 0, 0, 0.5);
            transition: all 0.2s ease-out;
        }
        .shop-shelf-tile:hover {
            border-color: #fbbf24;
            box-shadow: 
                0 8px 22px rgba(0, 0, 0, 0.9),
                0 0 16px rgba(245, 158, 11, 0.4),
                inset 0 0 0 1px rgba(254, 240, 138, 0.35);
            transform: translateY(-2px);
        }

        /* 6. 和風円窓（ミニマップ外枠・八咫鏡風金覆輪） */
        .minimap-circle-frame {
            border: 2.5px solid #d97706;
            box-shadow: 
                0 8px 24px rgba(0, 0, 0, 0.9),
                inset 0 0 0 1.5px rgba(254, 240, 138, 0.4),
                inset 0 0 14px rgba(0, 0, 0, 0.8),
                0 0 14px rgba(217, 119, 6, 0.3);
            background: 
                radial-gradient(circle at 50% 50%, rgba(217, 119, 6, 0.12) 0%, transparent 80%),
                #0b0d14;
            position: relative;
        }

        /* 7. 会話ウィンドウ（黒漆蒔絵・金箔砂子セリフ枠） */
        .dialogue-urushi-box {
            background: 
                /* 金箔砂子（微細な金粉の散らし） */
                radial-gradient(1.5px 1.5px at 12% 25%, rgba(254, 240, 138, 0.5) 0%, transparent 100%),
                radial-gradient(1.5px 1.5px at 78% 30%, rgba(245, 158, 11, 0.45) 0%, transparent 100%),
                radial-gradient(2px 2px at 35% 75%, rgba(251, 191, 36, 0.4) 0%, transparent 100%),
                radial-gradient(1.5px 1.5px at 88% 85%, rgba(254, 240, 138, 0.45) 0%, transparent 100%),
                radial-gradient(1px 1px at 55% 15%, rgba(254, 240, 138, 0.35) 0%, transparent 100%),
                /* 蒔絵の雲霞 */
                radial-gradient(ellipse at 5% 0%, rgba(217, 119, 6, 0.24) 0%, rgba(180, 83, 9, 0.08) 45%, transparent 70%),
                radial-gradient(ellipse at 95% 100%, rgba(239, 68, 68, 0.16) 0%, rgba(120, 53, 15, 0.06) 40%, transparent 70%),
                /* 深い黒漆の艶 */
                linear-gradient(165deg, #22161f 0%, #0f0a0e 30%, #050306 70%, #170f15 100%);
            border: 2px solid #d97706;
            border-radius: 18px;
            box-shadow: 
                0 18px 45px rgba(0, 0, 0, 0.95),
                inset 0 0 0 1px rgba(254, 240, 138, 0.5),
                inset 0 2px 8px rgba(254, 240, 138, 0.25),
                inset 0 -12px 24px rgba(0, 0, 0, 0.8),
                0 0 24px rgba(217, 119, 6, 0.35);
            position: relative;
        }
        .dialogue-urushi-box::before {
            content: '';
            position: absolute;
            inset: 4px;
            border: 1px solid rgba(245, 158, 11, 0.32);
            border-radius: 14px;
            pointer-events: none;
        }

        /* 8. 四隅の伝統金物（透かし唐草・隅金具） */
        .urushi-corner {
            position: absolute;
            width: 26px;
            height: 26px;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' width='36' height='36'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23fffbeb'/%3E%3Cstop offset='25%25' stop-color='%23fef08a'/%3E%3Cstop offset='55%25' stop-color='%23f59e0b'/%3E%3Cstop offset='85%25' stop-color='%23b45309'/%3E%3Cstop offset='100%25' stop-color='%2378350f'/%3E%3C/linearGradient%3E%3Cfilter id='glow' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeDropShadow dx='0' dy='1' stdDeviation='1' flood-color='%23000' flood-opacity='0.8'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%23glow)'%3E%3Cpath d='M2 34 L2 6 A4 4 0 0 1 6 2 L34 2 L34 8 L8 8 A1 1 0 0 0 7 9 L7 34 Z' fill='url(%23g)'/%3E%3Cpath d='M12 12 L24 12 A1 1 0 0 1 25 13 L25 15 L15 15 L15 25 L13 25 A1 1 0 0 1 12 24 Z' fill='url(%23g)' opacity='0.9'/%3E%3Ccircle cx='18' cy='18' r='2.8' fill='url(%23g)'/%3E%3Ccircle cx='5' cy='5' r='1.6' fill='%23fffbeb'/%3E%3Ccircle cx='28' cy='5' r='1.2' fill='%23fffbeb'/%3E%3Ccircle cx='5' cy='28' r='1.2' fill='%23fffbeb'/%3E%3C/g%3E%3C/svg%3E");
            background-size: contain;
            background-repeat: no-repeat;
            pointer-events: none;
            z-index: 10;
        }
        .urushi-corner-tl { top: 3px; left: 3px; }
        .urushi-corner-tr { top: 3px; right: 3px; transform: scaleX(-1); }
        .urushi-corner-bl { bottom: 3px; left: 3px; transform: scaleY(-1); }
        .urushi-corner-br { bottom: 3px; right: 3px; transform: scale(-1, -1); }

        /* 9. 和風黒漆 銘板プレート（話者名） */
        .urushi-nameplate {
            background: 
                linear-gradient(180deg, rgba(245, 158, 11, 0.18) 0%, transparent 45%),
                linear-gradient(135deg, #2a1a22 0%, #11090f 50%, #1c1117 100%);
            border: 1.5px solid #d97706;
            border-radius: 8px;
            padding: 3px 10px;
            box-shadow: 
                0 3px 10px rgba(0, 0, 0, 0.75),
                inset 0 1px 1px rgba(254, 240, 138, 0.55),
                inset 0 -1px 3px rgba(0, 0, 0, 0.8);
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 7px;
        }
        .urushi-nameplate::before {
            content: '';
            position: absolute;
            inset: 1.5px;
            border: 1px solid rgba(245, 158, 11, 0.28);
            border-radius: 5px;
            pointer-events: none;
        }

        /* 10. 落款印風バッジ */
        .rakkan-seal {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #ef4444 0%, #991b1b 100%);
            border: 1px solid #fecaca;
            color: #fff;
            font-size: 9.5px;
            font-weight: 900;
            width: 18px;
            height: 18px;
            border-radius: 4px;
            box-shadow: 0 1px 5px rgba(0,0,0,0.65);
            line-height: 1;
            text-shadow: 0 1px 1px rgba(0,0,0,0.8);
            flex-shrink: 0;
        }

        /* 11. 金蒔絵ライン（ディバイダー） */
        .makie-divider {
            height: 1.5px;
            background: linear-gradient(90deg, 
                transparent 0%, 
                rgba(217, 119, 6, 0.3) 10%, 
                rgba(254, 240, 138, 0.85) 50%, 
                rgba(217, 119, 6, 0.3) 90%, 
                transparent 100%);
            box-shadow: 0 0 6px rgba(245, 158, 11, 0.45);
            position: relative;
            margin: 4px 0;
            width: 100%;
        }

        /* 12. 朱色勾玉インジケータ（次へ送りアイコン） */
        @keyframes magatamaPulse {
            0%, 100% {
                transform: translateY(0) scale(1);
                filter: drop-shadow(0 0 4px rgba(239, 68, 68, 0.7));
            }
            50% {
                transform: translateY(-2px) scale(1.14);
                filter: drop-shadow(0 0 8px rgba(245, 158, 11, 0.95)) drop-shadow(0 0 14px rgba(239, 68, 68, 0.85));
            }
        }
        .magatama-pulse {
            animation: magatamaPulse 1.4s infinite ease-in-out;
            cursor: pointer;
        }

        /* 13. セリフ送りタイピングカーソル演出 */
        @keyframes blinkCursor {
            0%, 100% { opacity: 1; }
            50% { opacity: 0; }
        }
        .typing-cursor {
            display: inline-block;
            width: 2px;
            height: 1em;
            background-color: #fbbf24;
            margin-left: 2px;
            vertical-align: middle;
            animation: blinkCursor 0.7s infinite;
        }

        /* 14. 合戦HUD（リーダー情報枠・黒漆金覆輪） */
        #enemy-leader-box, #player-leader-box {
            background: 
                radial-gradient(ellipse at 50% 0%, rgba(245, 158, 11, 0.15) 0%, transparent 75%),
                linear-gradient(160deg, rgba(26, 17, 23, 0.94) 0%, rgba(10, 8, 13, 0.96) 100%) !important;
            border: 1.5px solid #d97706 !important;
            box-shadow: 
                0 6px 20px rgba(0, 0, 0, 0.85),
                inset 0 1px 1px rgba(254, 240, 138, 0.4),
                inset 0 0 12px rgba(0, 0, 0, 0.7),
                0 0 12px rgba(217, 119, 6, 0.25) !important;
        }

        /* 15. 三番勝負バッジ（黒漆蒔絵） */
        #match-status-badge {
            background: 
                radial-gradient(ellipse at 50% 50%, rgba(245, 158, 11, 0.2) 0%, transparent 80%),
                linear-gradient(180deg, #22151d 0%, #0d080c 100%) !important;
            border: 1.5px solid #d97706 !important;
            box-shadow: 
                0 4px 14px rgba(0, 0, 0, 0.85),
                inset 0 1px 0 rgba(254, 240, 138, 0.5),
                0 0 10px rgba(217, 119, 6, 0.3) !important;
        }