:root{--dialogue-gold:#d8bd8a;--dialogue-gold-soft:rgba(216,189,138,.32);--dialogue-ink:rgba(7,10,13,.88);--dialogue-text:#f4efe6}
.dialogue-panel{left:50%;right:auto;bottom:32px;width:min(1120px,calc(100vw - 280px));min-height:0;padding:34px 38px 30px;transform:translateX(-50%);overflow:visible;clip-path:none;border:1px solid var(--dialogue-gold-soft);border-radius:4px 22px 4px 22px;background:linear-gradient(100deg,rgba(5,8,11,.97),var(--dialogue-ink) 60%,rgba(14,16,17,.78)),radial-gradient(circle at 84% 0,rgba(180,130,62,.12),transparent 34%);box-shadow:0 24px 70px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(14px) saturate(.85)}
.dialogue-panel::before{content:'';position:absolute;top:-1px;left:38px;width:150px;height:2px;background:linear-gradient(90deg,#e1c58f,rgba(225,197,143,0));box-shadow:0 0 18px rgba(225,197,143,.32)}.dialogue-panel::after{content:'';position:absolute;inset:9px;pointer-events:none;border:1px solid rgba(216,189,138,.08);border-radius:2px 15px 2px 15px}
.speaker{position:absolute;left:38px;top:-20px;min-width:152px;max-width:55%;margin:0;padding:8px 24px 9px;overflow:hidden;color:#17130e;font-family:'Noto Sans SC','Microsoft YaHei','SimHei',sans-serif;font-size:20px;font-weight:700;line-height:1.25;letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;text-align:center;background:linear-gradient(110deg,#ead5a8,#b9955d);border:1px solid rgba(255,242,205,.5);border-radius:2px 12px 2px 12px;box-shadow:0 8px 22px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.42)}
.line{min-height:58px;margin:4px 8px 24px;color:var(--dialogue-text);font-size:clamp(17px,1.35vw,21px);font-weight:400;line-height:1.85;letter-spacing:.055em;text-shadow:0 2px 12px rgba(0,0,0,.72)}
.choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.choice-list button{position:relative;min-height:62px;padding:11px 16px;overflow:hidden;color:#e9e1d4;background:linear-gradient(105deg,rgba(32,34,34,.86),rgba(18,21,23,.76));border:1px solid rgba(216,189,138,.28);border-radius:3px 12px 3px 12px;font-family:'Noto Serif SC','SimSun',serif;font-size:14px;line-height:1.5;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.choice-list button::after{content:'';position:absolute;inset:0;opacity:0;background:linear-gradient(100deg,rgba(184,71,50,.18),transparent 65%);transition:opacity .2s ease}.choice-list button:hover,.choice-list button:focus-visible,.choice-list button.selected{z-index:1;transform:translateY(-3px);color:#fff8ec;border-color:rgba(226,190,123,.8);background:linear-gradient(105deg,rgba(82,43,35,.9),rgba(27,25,23,.88));box-shadow:0 10px 25px rgba(0,0,0,.28),inset 3px 0 #bf674f;outline:none}.choice-list button:hover::after,.choice-list button:focus-visible::after,.choice-list button.selected::after{opacity:1}
.choice-list em{position:relative;z-index:1;flex:0 0 30px;width:30px;height:30px;color:var(--dialogue-gold);background:rgba(7,9,10,.45);border:1px solid rgba(216,189,138,.46);border-radius:50%;transform:none;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:600}.choice-list span,.choice-list i{position:relative;z-index:1}.choice-list i{color:#9d8c72;text-transform:uppercase;letter-spacing:.08em}.choice-list:has(.dialogue-next){display:flex;justify-content:flex-end}.choice-list .dialogue-next{flex:0 0 auto;width:min(230px,100%);min-height:50px;border-color:rgba(216,189,138,.48)}.choice-list .dialogue-next em{border-radius:50%;font-size:0}.choice-list .dialogue-next em::after{content:'›';display:block;font-size:22px;line-height:27px}.choice-list.waiting{transform:translateY(6px);transition:opacity .2s ease,transform .2s ease}
@media(max-width:1050px){.dialogue-panel{width:calc(100vw - 48px);bottom:24px}.objective{bottom:auto;top:110px}}
@media(max-width:800px){.dialogue-panel{left:12px;right:12px;bottom:12px;width:auto;min-height:0;padding:30px 18px 18px;transform:none;border-radius:3px 16px 3px 16px}.dialogue-panel::before{left:20px;width:105px}.dialogue-panel::after{inset:6px}.speaker{left:20px;top:-17px;min-width:126px;padding:6px 18px 7px;font-size:21px}.line{min-height:52px;margin:3px 4px 16px;font-size:16px;line-height:1.7}.choice-list{grid-template-columns:1fr;gap:8px}.choice-list button{min-height:49px;padding:8px 12px}.choice-list:has(.dialogue-next){display:flex}.choice-list .dialogue-next{width:100%}.objective{bottom:292px;top:auto}}
@media(prefers-reduced-motion:reduce){.choice-list button,.choice-list.waiting{transition:none}}
.choice-list .timeline-continue{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.timeline-continue-host{position:absolute;right:34px;bottom:24px;z-index:20}.timeline-continue-host[hidden]{display:none!important}.timeline-continue-host .timeline-continue{display:inline-flex!important;align-items:center;gap:6px;height:30px;padding:0 10px 0 7px;color:#f4e6cd;background:rgba(65,39,31,.94);border:1px solid rgba(226,190,123,.68);border-radius:15px;box-shadow:0 5px 14px rgba(0,0,0,.28);font-family:'Noto Sans SC','Microsoft YaHei UI','Microsoft YaHei',sans-serif;font-size:12px;line-height:1;cursor:pointer}.timeline-continue-host .timeline-continue:hover{background:rgba(105,52,39,.98);border-color:#e2be7b}.timeline-continue-host em{display:grid;place-items:center;width:17px;height:17px;padding-left:1px;color:#17100c;background:#d8bd8a;border-radius:50%;font-style:normal;font-size:8px}.timeline-continue-host span{white-space:nowrap}.dialogue-panel{min-height:174px}.line{padding-right:90px}
.dialogue-panel.narration-mode{width:min(980px,calc(100vw - 320px));min-height:112px;padding:24px 30px 22px;border:1px solid rgba(255,255,255,.13);border-radius:3px 14px 3px 14px;background:linear-gradient(100deg,rgba(7,11,17,.58),rgba(10,14,20,.42));box-shadow:0 12px 36px rgba(0,0,0,.22);backdrop-filter:blur(7px) saturate(.8)}
.dialogue-panel.narration-mode::before{left:30px;width:95px;background:linear-gradient(90deg,rgba(255,255,255,.5),transparent);box-shadow:none}.dialogue-panel.narration-mode::after{inset:7px;border-color:rgba(255,255,255,.055)}.dialogue-panel.narration-mode .speaker{display:none!important}.dialogue-panel.narration-mode .line{min-height:50px;margin:0;padding:0 90px 0 0;color:#f5f7fa;font-family:'Noto Sans SC','Microsoft YaHei UI','Microsoft YaHei',sans-serif;font-size:20px;font-weight:400;line-height:1.8;letter-spacing:.025em;text-shadow:0 2px 8px rgba(0,0,0,.72)}
.dialogue-panel.narration-mode .timeline-continue-host{right:25px;bottom:20px}.dialogue-panel.narration-mode .timeline-continue{height:28px;padding:0 9px 0 6px;color:#fff;background:rgba(10,14,20,.62);border-color:rgba(255,255,255,.3)}.dialogue-panel.narration-mode .timeline-continue em{color:#161b22;background:rgba(255,255,255,.88)}
.dialogue-panel.silent-mode:has(.choice-list.waiting){width:min(1120px,calc(100vw - 280px));min-height:70px;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none}.dialogue-panel.silent-mode:has(.choice-list.waiting)::before,.dialogue-panel.silent-mode:has(.choice-list.waiting)::after,.dialogue-panel.silent-mode:has(.choice-list.waiting) .speaker,.dialogue-panel.silent-mode:has(.choice-list.waiting) .line,.dialogue-panel.silent-mode:has(.choice-list.waiting) .choice-list{display:none!important}.dialogue-panel.silent-mode .timeline-continue-host{right:22px;bottom:18px}
.timeline-continue-host .timeline-continue em,.dialogue-panel.narration-mode .timeline-continue em{width:16px;height:16px;padding:0;color:#ead5a8;background:transparent;border-radius:0;font-size:12px;line-height:16px;text-shadow:0 2px 7px rgba(0,0,0,.7)}
.timeline-continue-host .timeline-continue:has(em:only-child){width:34px;padding:0;justify-content:center}
.choice-list .dialogue-next.triangle-only{width:38px;min-height:34px;padding:0;justify-content:center}.choice-list .dialogue-next.triangle-only em{width:auto;height:auto;color:#ead5a8;background:transparent;border:0;border-radius:0;font-size:12px;line-height:1}.choice-list .dialogue-next.triangle-only em::after{content:none}
@media(max-width:800px){.dialogue-panel.narration-mode{left:12px;right:12px;width:auto;padding:22px 20px 18px}.dialogue-panel.narration-mode .line{padding-right:70px;font-size:17px}}
.dialogue-panel .speaker,.dialogue-panel .line{pointer-events:none}.dialogue-panel .choice-list,.dialogue-panel .timeline-continue-host{pointer-events:auto}
