/* Medical event: presentation only; no task or print changes. */
:root { --tourism-orange:#26705b; --tourism-cream:#fff; --ai-cyan:#26705b; --ai-pink:#81b3a1; --ai-dark:#fff; }
html,body,.cyber-bg { background:#fff !important; color:#243c35 !important; }
body::before,.cyber-bg::after,.tourism-color-ribbon { display:none !important; }
.text-white,.text-ai-cyan,[class*="text-cyan-"],.text-ai-pink { color:#243c35 !important; }
[class*="text-slate-"],[class*="text-white/"] { color:#63736e !important; }
.tourism-event-title { background:none; border:0; box-shadow:none; color:#243c35; transform:none; letter-spacing:.1em; }
.tourism-event-name-en { color:#6d827a; font-weight:500; letter-spacing:.18em; }
.tourism-event-lockup { margin-bottom:32px; }
.tourism-language { border:1px solid #d4e2db !important; box-shadow:none !important; }
.lang-btn { color:#345b4d; }.lang-btn.active { background:#26705b; color:#fff; border-color:#26705b; }
.tourism-home>p:first-child { color:#243c35 !important; text-shadow:none; }
.tourism-home-examples>div:nth-child(2)>span,.kiosk-loading>div.text-center>p { color:#345b4d !important; }
.tourism-example-image,.tourism-home-examples>div:last-child .tourism-example-image { border:1px solid #dce6e1 !important; box-shadow:0 8px 24px #233c3508 !important; border-radius:24px; }
.tourism-home-examples>div:first-child>span,.tourism-home-examples>div:last-child>span { color:#446357 !important; background:none; border:0; transform:none; }
.tourism-home-examples>div:nth-child(2) { color:#5a8a76; background:none; border:0; }
.btn-cyan,.primary,.glow-button,[class*="bg-cyan-"] { background:#26705b !important; color:#fff !important; border:0; box-shadow:0 7px 20px #26705b18 !important; }
.btn-cyan:active:not(:disabled) { background:#19513f !important; }
.tourism-home>.btn-cyan { border-radius:22px !important; }
.btn-red,.secondary { background:#fff !important; color:#345b4d; border:1px solid #ccdcd4; }
.glass,.glass-card,.choice,.choice-card,[class*="bg-slate-900"],[class*="bg-[#0f172a]"],[class*="bg-black/40"] { background:#fff !important; color:#243c35; border-color:#dce6e1; box-shadow:0 10px 30px #243c3508; }
.choice-card.selected,.choice.selected { border-color:#26705b !important; background:#f0f7f3 !important; box-shadow:0 0 0 2px #26705b !important; }
.camera-container { border-color:#b4cec1; box-shadow:none; }
.camera-container .text-white { color:white !important; }
.medical-partners { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:clamp(16px,4vw,48px); width:min(100%,740px); margin:72px auto 24px; padding:24px 8px; }
.medical-partners img { display:block; width:100%; height:clamp(56px,12vw,112px); object-fit:contain; }
.tourism-wait { background:#fff; border:1px solid #e1ebe5; box-shadow:0 12px 40px #264f3d08; }
.tourism-kv-stage { position:relative; width:min(100%,560px); aspect-ratio:860/622; margin:0 auto 20px; overflow:hidden; background:#fafcfb; border:0; border-radius:24px; }
.tourism-kv-accent { opacity:0; }.tourism-kv-accent.is-visible { opacity:1; }
.tourism-wait-title { margin:0 0 20px; font-size:clamp(1.05rem,2.6vw,1.5rem); color:#345b4d; font-weight:600; }
.tourism-progress-heading { justify-content:flex-end; }.tourism-percent { color:#26705b; }
.tourism-track { background:#edf3ef; border:0; height:18px; }.tourism-fill { background:#438873; }
.tourism-progress-label,.tourism-milestones,.tourism-status,.tourism-progress-note { display:none; }
.tourism-wait[data-phase="failed"] .tourism-status { display:block; color:#a22d36; }
.tourism-wait[data-phase="failed"] .boba-character { animation-play-state:paused; }
.tourism-photo-notice { color:#817367 !important; }.tourism-privacy-content { background:#f7faf8; color:#43554c; }

@media(max-width:600px) { .medical-partners { gap:16px; margin-top:48px; }.tourism-event-lockup { margin-bottom:20px; }.tourism-event-title { font-size:1.6rem; } }
@media(prefers-reduced-motion:reduce) { .boba-character,.boba-spark { animation:none !important; }.tourism-kv-accent { transition:none; } }


/* Original Taiwan black bear, four poses in one locally embedded sprite. */
.medical-animation .boba-halo { position:absolute; left:50%; top:48%; width:61%; aspect-ratio:1; border-radius:50%; transform:translate(-50%,-50%); background:radial-gradient(circle,#e6f1eb 0%,#f0f7f3 70%,transparent 71%); }
.medical-animation .boba-shadow { position:absolute; left:50%; bottom:5.2%; width:29%; height:3%; transform:translateX(-50%); border-radius:50%; background:#204c3520; filter:blur(5px); }
.medical-animation .boba-character { position:absolute; left:0; right:0; margin:auto; top:3%; height:94%; aspect-ratio:1; animation:boba-breathe 2s ease-in-out infinite; transform-origin:50% 90%; }
.medical-animation .bear-pose { position:absolute; inset:0; display:block; background-image:var(--bear-sprite); background-size:200% 200%; background-repeat:no-repeat; transition:none; }
.medical-animation .bear-pose-0 { background-position:0% 0%; }
.medical-animation .bear-pose-1 { background-position:100% 0%; }
.medical-animation .bear-pose-2 { background-position:0% 100%; }
.medical-animation .bear-pose-3 { background-position:100% 100%; }
.medical-animation .boba-spark { position:absolute; color:#8cae9d; font-size:clamp(20px,4vw,42px); animation:boba-twinkle 3s ease-in-out infinite; }
.medical-animation .boba-spark-one { left:14%; top:24%; }
.medical-animation .boba-spark-two { right:13%; top:57%; font-size:clamp(15px,3vw,28px); animation-delay:1.5s; }
@keyframes boba-breathe { 0%,100% { transform:translateY(0) rotate(-.5deg); } 50% { transform:translateY(-5px) rotate(.5deg); } }
@keyframes boba-twinkle { 0%,100% { opacity:.25; transform:scale(.85); } 50% { opacity:.85; transform:scale(1.08); } }
